rcu_do_batch: rcu_data->qlen is not irq safe
From: Oleg Nesterov
Date: Sun Sep 10 2006 - 11:18:22 EST
rcu_do_batch() decrements rdp->qlen with irqs enabled.
This is not good, it can also be modified by call_rcu()
from interrupt.
So, is it worth fixing? The problem is mostly theoretical.
If yes, is it ok to use local_t ? Iirc, the were some
problems with local_t on some arches. Sometimes it is
just atomic_t ...
Otherwise, we can update ->qlen after the main loop,
local_irq_disable();
rdp->qlen -= count;
local_irq_enable();
What dou you think?
Oleg.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/