pre-emption locking question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




The pre-emption locking dumentation states:

RULE #3: Lock acquire and release must be performed by same task


A lock acquired in one task must be released by the same task.  This
means you can't do oddball things like acquire a lock and go off to
play while another task releases it.  If you want to do something
like this, acquire and release the task in the same code path and
have the caller wait on an event by the other task.


If within a driver a task locked a semaphore on a write, and then a usb 
interrupt that caused a read of the data being written unlocked the 
semaphore, would this be wrong? Technically, two tasks are not locking and 
unlocked but the kernel is unlocking on behalf of no task.

Anton
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux