[Click] Routebricks setup

Mihai Dobrescu mihai.dobrescu at gmail.com
Fri Jun 8 11:30:39 EDT 2012


Hi Ahmed,

There was a thread scheduling bug in click1.7.0rc1.
It was later fixed here:
http://www.read.cs.ucla.edu/gitweb?p=click;a=commit;h=df94d46a16af8a061d1069d2c442f1132063bb87

So you can take the patch from commit
df94d46a16af8a061d1069d2c442f1132063bb87, apply the patch and
scheduling should work fine.

Mihai

On Thu, Jun 7, 2012 at 6:32 PM, ahmed A. <amego83 at gmail.com> wrote:
> Hello,
>
> Does anyone manage to set up and run routebricks on his/her machine. We
> trying to do that , but we encountered the following problem:
> When we try to *assign different elements to different threads using the
> StaticThreadSched<http://www.read.cs.ucla.edu/click/elements/staticthreadsched>
> ()* element, but we end up with* all elements in our script assigned to
> only one Linux thread*. We just try to run the test click configuration
> script provided by routebricks:
>
> pd0 :: MQPollDevice(eth0, QUEUE 0, BURST 32, PROMISC true) ->
> q0 :: CPUQueue(1000) ->
> counter0 :: AverageCounter() ->
> td0 :: MQToDevice(eth1, QUEUE 0, BURST 32);
> StaticThreadSched(pd0 0, td0 0);
>
> pd1 :: MQPollDevice(eth0, QUEUE 1, BURST 32, PROMISC true) ->
> q1 :: CPUQueue(1000) ->
> counter1 :: AverageCounter() ->
> td1 :: MQToDevice(eth1, QUEUE 1, BURST 32);
> StaticThreadSched(pd1 1, td1 1);
>
> pd2 :: MQPollDevice(eth0, QUEUE 2, BURST 32, PROMISC true) ->
> q2 :: CPUQueue(1000) ->
> counter2 :: AverageCounter() ->
> td2 :: MQToDevice(eth1, QUEUE 2, BURST 32);
> StaticThreadSched(pd2 2, td2 2);
>
> pd3 :: MQPollDevice(eth0, QUEUE 3, BURST 32, PROMISC true) ->
> q3 :: CPUQueue(1000) -> counter3 :: AverageCounter() ->
> td3 :: MQToDevice(eth1, QUEUE 3, BURST 32);
> StaticThreadSched(pd3 3, td3 3);
>
> // eth1 -> eth0
>
> pd8 :: MQPollDevice(eth1, QUEUE 0, BURST 32, PROMISC true) ->
> q8 :: CPUQueue(1000) ->
> counter8 :: AverageCounter() ->
> td8 :: MQToDevice(eth0, QUEUE 0);
> StaticThreadSched(pd8 0, td8 0);
>
> pd9 :: MQPollDevice(eth1, QUEUE 1, BURST 32, PROMISC true) ->
> q9 :: CPUQueue(1000) ->
> counter9 :: AverageCounter() ->
> td9 :: MQToDevice(eth0, QUEUE 1);
> StaticThreadSched(pd9 1, td9 1);
>
> pd10 :: MQPollDevice(eth1, QUEUE 2, BURST 32, PROMISC true) ->
> q10 :: CPUQueue(1000) ->
> counter10 :: AverageCounter() ->
> td10 :: MQToDevice(eth0, QUEUE 2);
> StaticThreadSched(pd10 2, td10 2);
>
> pd11 :: MQPollDevice(eth1, QUEUE 3, BURST 32, PROMISC true) ->
> q11 :: CPUQueue(1000) ->
> counter11 :: AverageCounter() ->
> td11 :: MQToDevice(eth0, QUEUE 3);
> StaticThreadSched(pd11 3, td11 3);
>
> So in our routebricks setup, all the PDs and TDs in this script will be
> assigned to only linux thread (the first one). We are not sure if it is a
> problem of *StaticThreadSched<http://www.read.cs.ucla.edu/click/elements/staticthreadsched>()
> *or routebricks setup. As recommended by routebricks we run Click 1.7, is
> there any bug in this click version related to this problem ?
>
> We would appreciate any help or tips
>
> Thank you in advance
>
> Ahmed
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click


More information about the click mailing list