Can anyone tell me whether the following assumptions are
correct or not. 1. I share a data between a kernel thread and an ISR. ( this is a uniprocessor system). In
kernel thread I do spin_lock_irqsave and
then unlocking. Where as accessing the data from the ISR I do not use any spin
lock coz I know when the ISR is running the kernel thread does not get a chance
to run. Am I right ??? 2. I want to implement a message quque
send and recv routine between two kernel threads. ( here I can not use the standard message quques) What I do is in recv call I check
if there is any message in the queue. If no then I sleep on a wait queue. While sending a message I always add the message to the
queue and and use wake up call on wait queue. Is my implementation leak proff…..or
there are some flaws??? |