Hi Pradeep,
> > Can you please recheck if you are not holding any spinlocks.Also check > > if you are not doing a memory allocation with spinlock held or in > > interrupt context.May be you are doing something like printk which may > > sleep IMO.Rechcek any methods you are calling which may sleep. > > printk will not sleep. Thus it is safe to call printk from any where > except from very few restricted locations like some scheduler etc. Can you please help me out in understanding why? Printk involves allocating buffer for the message to be printed, right?Which can sleep, isnt it? What am i missing here?
No, printk does not allocate any buffer. printk has a compile time circular buffer (log_buf) whose size is determined by compile time constant. So what prink does is mere dump the message in this circular buffer. Thanks, Rajat -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ