[Click] NotifierQueue on multi-threaded Click problem.
Beyers Cronje
bcronje at gmail.com
Mon Jul 9 04:54:05 EDT 2007
Hi Jason,
You can also have a look at CPUQueue and MSQueue which should be MT safe.
Beyers
On 7/9/07, Jason Park (Joonwoo Park) <jason at geninetworks.com> wrote:
>
> Hi.
> Recently I tried multi-threaded Click to get more performance.
> But I got stopped queue in a few seconds.
> For the test, I connected two click installed machine with e1000 gigabit
> directly as sender and replier.
> The replier made problem on multi-threaded click that run_task() of
> ToDevice() won't be called any more.
>
> I worked patch for the problem and it contains.
> - FullNoteQueue, NotifierQueue
> The spinlock_bh needed because of push and pull can be called
> concurrently from softirq.
> But I didn't work for SimpleQueue, it might lock needed too.
> - Task
> I think that the member _pending should be atomic, in more race
> conditional situation, it can be problem. (You can try
> SLEEPNIESS_TRIGGER=1)
> - Etc.
> Replace member function of SpinlockIRQ with the things from linux to
> disable preempt when irq disabled. (But I didn't set CONFIG_PREEMPT for
> this test)
> Add class SpinlockBH.
> Fix Master's lock. (Eddie, Am I right?)
> I'm running linux 2.6.19.2 SMP.
>
> I'll be pleased if this patch works.
>
> Jason Park (Joonwoo Park).
>
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>
>
>
More information about the click
mailing list