• Olof Johansson's avatar
    tasklets: execute tasklets in the same order they were queued · 48f20a9a
    Olof Johansson authored
    I noticed this when looking at an openswan issue.  Openswan (ab?)uses the
    tasklet API to defer processing of packets in some situations, with one
    packet per tasklet_action().  I started noticing sequences of
    backwards-ordered sequence numbers coming over the wire, since new tasklets
    are always queued at the head of the list but processed sequentially.
    
    Convert it to instead append new entries to the tail of the list.  As an
    extra bonus, the splicing code in takeover_tasklets() no longer has to
    iterate over the list.
    Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
    Cc: "David S. Miller" <davem@davemloft.net>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    48f20a9a
softirq.c 15.4 KB