Messages in this thread | | | Date | Sun, 28 Nov 2004 06:31:28 -0800 | From | William Lee Irwin III <> | Subject | Re: [PATCH 1/2] rcu: cosmetic, delete wrong comment, use HARDIRQ_OFFSET |
| |
On Sun, Nov 28, 2004 at 06:06:52PM +0300, Oleg Nesterov wrote: > rcu_check_quiescent_state: > /* > * Races with local timer interrupt - in the worst case > * we may miss one quiescent state of that CPU. That is > * tolerable. So no need to disable interrupts. > */ > if (rdp->qsctr == rdp->last_qsctr) > return; > Afaics, this comment is misleading. rcu_check_quiescent_state() > is executed in softirq context, while rcu_check_callbacks() checks > in_softirq() before ++qsctr. > Also, replace (1 << HARDIRQ_SHIFT) by HARDIRQ_OFFSET. > On top of the 'rcu: eliminate rcu_ctrlblk.lock', see > http://marc.theaimsgroup.com/?l=linux-kernel&m=110156786721526
rcu_qsctr_inc() does *NOT* check in_softirq(), and yes, scheduling does occur directly off the timer interrupt. For instance, for userspace tasks whose timeslices have expired.
-- wli - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |