[Click] NotifierQueue on multi-threaded Click problem.
Eddie Kohler
kohler at cs.ucla.edu
Tue Sep 4 17:20:33 EDT 2007
ToDevice::run_task() is not run in softirq context, it is called from Click's
kernel thread like every other task. ToDevice DOES call spin_trylock_bh
itself, however.
Eddie
Joonwoo Park wrote:
> In addition about softirq.
>
>>> - "The spinlock_bh needed because of push and pull can be called
>>> concurrently from softirq." : What do you mean? I may be being stupid,
>>> but I don't think ANY pushes and pulls should be called from softirq
>>> context. What softirq context are you thinking of? Click runs almost
>>> entirely in user context (i.e. the kernel threads), or at least it should.
>
> The ToDevice::run_task() is runs in sofrtirq context and it pulls packet.
> You may get warning WARN_ON(in_softirq()) at that function.
> Isn't it OK?
>
> Jason Park (Joonwoo Park)
More information about the click
mailing list