librelist archives

« back to archive

Userlevel adaptive scheduling

Userlevel adaptive scheduling

From:
Rui Meireles
Date:
2014-05-19 @ 17:05
Hi, can adaptive scheduling be used in userlevel click? 

I can't seem to get it to work, even though I am setting the 
--enable-adaptive configure flag. I added  the following code to the 
main() method on userlevel/click.cc as a test but nothing gets printed:

#ifdef HAVE_ADAPTIVE_SCHEDULING
	click_chatter("hello world");
#endif

Many thanks, Rui

Re: [click] Userlevel adaptive scheduling

From:
Eddie Kohler
Date:
2014-05-19 @ 17:38
Adaptive scheduling doesn't really make sense in the userlevel
context. What functionality did you want that you thought adaptive
scheduling would provide?

Eddie


On Mon, May 19, 2014 at 1:05 PM, Rui Meireles <rui@cmu.edu> wrote:
> Hi, can adaptive scheduling be used in userlevel click?
>
> I can't seem to get it to work, even though I am setting the
> --enable-adaptive configure flag. I added  the following code to the main()
> method on userlevel/click.cc as a test but nothing gets printed:
>
> #ifdef HAVE_ADAPTIVE_SCHEDULING
> click_chatter("hello world");
> #endif
>
> Many thanks, Rui
>

Re: [click] Userlevel adaptive scheduling

From:
Rui Meireles
Date:
2014-05-19 @ 17:45
Hello and thank you for your reply. I am trying to find a way to cap 
click's CPU utilization and this adaptive scheduling looked like it would 
be perfect for that.

Is there an alternative for userlevel click? I have 100% CPU utilization 
even when no messages are being generated.

Best regards,
Rui
On May 19, 2014, at 6:38 PM, Eddie Kohler wrote:

> Adaptive scheduling doesn't really make sense in the userlevel
> context. What functionality did you want that you thought adaptive
> scheduling would provide?
> 
> Eddie
> 
> 
> On Mon, May 19, 2014 at 1:05 PM, Rui Meireles <rui@cmu.edu> wrote:
>> Hi, can adaptive scheduling be used in userlevel click?
>> 
>> I can't seem to get it to work, even though I am setting the
>> --enable-adaptive configure flag. I added  the following code to the main()
>> method on userlevel/click.cc as a test but nothing gets printed:
>> 
>> #ifdef HAVE_ADAPTIVE_SCHEDULING
>> click_chatter("hello world");
>> #endif
>> 
>> Many thanks, Rui
>> 

Re: [click] Userlevel adaptive scheduling

From:
Eddie Kohler
Date:
2014-05-19 @ 19:47
What's your configuration?

Although Click does use polling, in general a "notification" system
will prevent 100% CPU usage when there is no work to do.

You could also use Linux `perf` (e.g. `perf record click WHATEVER;
perf report`), or run under GDB, to see which elements are active.


On Mon, May 19, 2014 at 1:45 PM, Rui Meireles <rui@cmu.edu> wrote:
> Hello and thank you for your reply. I am trying to find a way to cap click's
> CPU utilization and this adaptive scheduling looked like it would be perfect
> for that.
>
> Is there an alternative for userlevel click? I have 100% CPU utilization
> even when no messages are being generated.
>
> Best regards,
> Rui
> On May 19, 2014, at 6:38 PM, Eddie Kohler wrote:
>
> Adaptive scheduling doesn't really make sense in the userlevel
> context. What functionality did you want that you thought adaptive
> scheduling would provide?
>
> Eddie
>
>
> On Mon, May 19, 2014 at 1:05 PM, Rui Meireles <rui@cmu.edu> wrote:
>
> Hi, can adaptive scheduling be used in userlevel click?
>
>
> I can't seem to get it to work, even though I am setting the
>
> --enable-adaptive configure flag. I added  the following code to the main()
>
> method on userlevel/c lick.cc as a test but nothing gets printed:
>
>
> #ifdef HAVE_ADAPTIVE_SCHEDULING
>
> click_chatter("hello world");
>
> #endif
>
>
> Many thanks, Rui
>
>
>

Re: [click] Userlevel adaptive scheduling

From:
Rui Meireles
Date:
2014-05-19 @ 20:09
Thanks for the help, the notification system you mention solves the 
problem beautifully.
I have a custom-built queue and the pull method was eating all the CPU 
cycles. By adding an empty notification I can avoid that.

Thanks again for this wonderful framework and technical support!

Best regards,
Rui

On May 19, 2014, at 8:47 PM, Eddie Kohler wrote:

> What's your configuration?
> 
> Although Click does use polling, in general a "notification" system
> will prevent 100% CPU usage when there is no work to do.
> 
> You could also use Linux `perf` (e.g. `perf record click WHATEVER;
> perf report`), or run under GDB, to see which elements are active.
> 
> 
> On Mon, May 19, 2014 at 1:45 PM, Rui Meireles <rui@cmu.edu> wrote:
>> Hello and thank you for your reply. I am trying to find a way to cap click's
>> CPU utilization and this adaptive scheduling looked like it would be perfect
>> for that.
>> 
>> Is there an alternative for userlevel click? I have 100% CPU utilization
>> even when no messages are being generated.
>> 
>> Best regards,
>> Rui
>> On May 19, 2014, at 6:38 PM, Eddie Kohler wrote:
>> 
>> Adaptive scheduling doesn't really make sense in the userlevel
>> context. What functionality did you want that you thought adaptive
>> scheduling would provide?
>> 
>> Eddie
>> 
>> 
>> On Mon, May 19, 2014 at 1:05 PM, Rui Meireles <rui@cmu.edu> wrote:
>> 
>> Hi, can adaptive scheduling be used in userlevel click?
>> 
>> 
>> I can't seem to get it to work, even though I am setting the
>> 
>> --enable-adaptive configure flag. I added  the following code to the main()
>> 
>> method on userlevel/c lick.cc as a test but nothing gets printed:
>> 
>> 
>> #ifdef HAVE_ADAPTIVE_SCHEDULING
>> 
>> click_chatter("hello world");
>> 
>> #endif
>> 
>> 
>> Many thanks, Rui
>> 
>> 
>> 

Re: [click] Userlevel adaptive scheduling

From:
Eddie Kohler
Date:
2014-05-19 @ 23:03
Great, and awesome that you were able to use notification so quickly!!


On Mon, May 19, 2014 at 4:09 PM, Rui Meireles <rui@cmu.edu> wrote:
> Thanks for the help, the notification system you mention solves the problem
> beautifully.
> I have a custom-built queue and the pull method was eating all the CPU
> cycles. By adding an empty notification I can avoid that.
>
> Thanks again for this wonderful framework and technical support!
>
> Best regards,
> Rui
>
> On May 19, 2014, at 8:47 PM, Eddie Kohler wrote:
>
> What's your configuration?
>
> Although Click does use polling, in general a "notification" system
> will prevent 100% CPU usage when there is no work to do.
>
> You could also use Linux `perf` (e.g. `perf record click WHATEVER;
> perf report`), or run under GDB, to see which elements are active.
>
>
> On Mon, May 19, 2014 at 1:45 PM, Rui Meireles <rui@cmu.edu> wrote:
>
> Hello and thank you for your reply. I am trying to find a way to cap click's
>
> CPU utilization and this adaptive scheduling looked like it would be perfect
>
> for that.
>
>
> Is there an alternative for userlevel click? I have 100% CPU utilization
>
> even when no messages are being generated.
>
>
> Best regards,
>
> Rui
>
> On May 19, 2014, at 6:38 PM, Eddie Kohler wrote:
>
>
> Adaptive scheduling doesn't really make sense in the userlevel
>
> context. What functionality did you want that you thought adaptive
>
> scheduling would provide?
>
>
> Eddie
>
>
>
> On Mon, May 19, 2014 at 1:05 PM, Rui Meireles <rui@cmu.edu> wrote:
>
>
> Hi, can adaptive scheduling be used in userlevel click?
>
>
>
> I can't seem to get it to work, even though I am setting the
>
>
> --enable-adaptive configure flag. I added  the following code to the main()
>
>
> method on userlevel/c lick.cc as a test but nothing gets printed:
>
>
>
> #ifdef HAVE_ADAPTIVE_SCHEDULING
>
>
> click_chatter("hello world");
>
>
> #endif
>
>
>
> < blockquote type="cite">Many thanks, Rui
>
>
>
>
>