Re: Calling printk with locks held

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

 



Hi Neil,

On Thu, Jun 2, 2011 at 1:43 PM, Neil Baylis <neil.baylis@xxxxxxxxx> wrote:
> I've just been told that it's not OK to call printk while holding a lock.
> This came as a surprise to me, as I've written thousands of lines of code
> that calls printk while holding multiple locks, and have not seen any
> problem. The only explanation I was given was that it can deadlock.
> Is this correct? I thought there were very few places where it was not safe
> to call printk.

In general I don't think that there's any issue with calling printk
with locks held. If the lock was held within the console driver using
to send the printk data you might have trouble. I know its fine (but
not recommended for performance reasons) to call printk from interrupt
context.

printk uses the "try" variant on its own locks and if it can't get
that lock then it just adds the data to its internal buffer and
doesn't try to output anything.

-- 
Dave Hylands
Shuswap, BC, Canada
http://www.davehylands.com

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


[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