Messages in this thread | | | Date | Fri, 11 Sep 2009 11:00:03 -0600 | From | "Chris Friesen" <> | Subject | BUG? possible race between tasklet_action and tasklet_kill |
| |
I think I may have discovered a race between tasklet_action and tasklet_kill. Given how long this code has been around, I assume that I'm simply not understanding the purposes of tasklet_kill correctly, but it seems like there's a mechanism whereby we could hit the BUG path in tasklet_action().
cpu A cpu B starts tasklet_kill() does while loop until TASKLET_STATE_SCHED not set runs tasklet_schedule() starts tasklet_action() tasklet_unlock_wait() if (tasklet_trylock(t)) { clear_bit(TASKLET_STATE_SCHED) test_and_clear_bit(TASKLET_STATE_SCHED BUG
Is this a valid issue, or is this an improper usage pattern somehow?
Thanks,
Chris
| |