mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Interrupt synchronisation questions for SMP experts
@ 2009-02-11 17:14 Guillaume Knispel
  0 siblings, 0 replies; only message in thread
From: Guillaume Knispel @ 2009-02-11 17:14 UTC (permalink / raw)
  To: linux-kernel

Hi,

1. Imagine an interrupt storm from an evil device on an evil SMP
machine, is there any guarantee that if the ISR call
disable_irq_nosync() on its own irq it won't be called again just after
it returns?  I feel this could be a reasonable expectation while i fail
to see anything that could provide it in the for (;;) loop of
__do_IRQ().

2. Does using synchronizing functions like disable_irq(),
tasklet_kill(), or del_timer_sync() provide sequentiality between the
effects of the end of the interrupt servicing code and the effects of
the code immediately after the call to the synchronizing function?

3. Consider this:

(a initially set to 0)
  CPU 1.          CPU 2.

  z = 3;          while (!a) barrier();
  smp_wmb();      smp_mb();
  a = 1;          z = 42;

Does the semantic of smp_mb() and smp_wmb() guarantee that the final
value of z will be 42?  (This has something to do with 2.)

Cheers,
Guillaume KNISPEL

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-02-11 17:21 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-11 17:14 Interrupt synchronisation questions for SMP experts Guillaume Knispel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®