Messages in this thread | | | Date | Thu, 01 Aug 2013 23:46:24 +0530 | From | Raghavendra K T <> | Subject | Re: [PATCH RFC 1/2] qspinlock: Introducing a 4-byte queue spinlock implementation |
| |
On 08/01/2013 11:28 PM, Waiman Long wrote: > On 08/01/2013 05:40 AM, Peter Zijlstra wrote: >> On Wed, Jul 31, 2013 at 10:37:10PM -0400, Waiman Long wrote: >> [...] >> >>> + */ >>> + for (qn_idx = 1; qn_idx< MAX_QNODES; qn_idx++) { >>> + if (!node[qn_idx].used) >>> + break; >> } >> >>> + if (unlikely(qn_idx == MAX_QNODES)) { >>> + /* >>> + * This shouldn't happen, print a warning message >>> + *& busy spinning on the lock. >>> + */ >>> + pr_warn("qspinlock: queue node table exhausted at " >>> + "cpu %d!\n", cpu_nr); >> This could make your machine die hard.. not all contexts can printk(). > > Do you have any suggestion? I could skip the warning and silently do the > busy spinning. I just want some way to notify the user of this rare event.
We have used debugfs in pv-spinlock to avoid that since printk uses spinlock again. may be it will help to profile many other parts of code too.
| |