aboutsummaryrefslogtreecommitdiff
path: root/kernel/workqueue.c
diff options
context:
space:
mode:
authorSuresh Siddha <suresh.b.siddha@intel.com>2008-10-30 18:28:41 +0100
committerJens Axboe <jens.axboe@oracle.com>2008-11-06 08:41:56 +0100
commit561920a0d2bb6d63343e83acfd784c0a77bd28d1 (patch)
tree7b87d9d867296d4a14e9b287129fcfd0b2cd1b47 /kernel/workqueue.c
parente78042e5b83936b1d12a4b5bbb492bdd88ad76c6 (diff)
generic-ipi: fix the smp_mb() placement
smp_mb() is needed (to make the memory operations visible globally) before sending the ipi on the sender and the receiver (on Alpha atleast) needs smp_read_barrier_depends() in the handler before reading the call_single_queue list in a lock-free fashion. On x86, x2apic mode register accesses for sending IPI's don't have serializing semantics. So the need for smp_mb() before sending the IPI becomes more critical in x2apic mode. Remove the unnecessary smp_mb() in csd_flag_wait(), as the presence of that smp_mb() doesn't mean anything on the sender, when the ipi receiver is not doing any thing special (like memory fence) after clearing the CSD_FLAG_WAIT. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'kernel/workqueue.c')
0 files changed, 0 insertions, 0 deletions