• Vegard Nossum's avatar
    tasklets: new tasklet scheduling function · 7c692cba
    Vegard Nossum authored
    Rationale: kmemcheck needs to be able to schedule a tasklet without
    touching any dynamically allocated memory _at_ _all_ (since that would
    lead to a recursive page fault). This tasklet is used for writing the
    error reports to the kernel log.
    
    The new scheduling function avoids touching any other tasklets by
    inserting the new tasklist as the head of the "tasklet_hi" list instead
    of on the tail.
    
    Also don't wake up the softirq thread lest the scheduler access some
    tracked memory and we go down with a recursive page fault.
    
    In this case, we'd better just wait for the maximum time of 1/HZ for the
    message to appear.
    Signed-off-by: default avatarVegard Nossum <vegard.nossum@gmail.com>
    7c692cba
interrupt.h 16.9 KB