[Click] devirtualize for an embedded system
Eddie Kohler
kohler at cs.ucla.edu
Mon Mar 10 11:05:09 EDT 2008
You are using devirtualized elements.
It looks like you need to do some profiling to figure out where the problem
is. There are a lot of your own elements in there. In the user-level config,
perhaps the CPU usage problem is due to the device elements not being smart or
something -- you could see, for example, how often they are scheduled.
Good luck!
Eddie
Giovanni Di Stasi wrote:
> --- Eddie Kohler <ohler at cs.ucla.edu> ha scritto:
>
>> Hi Giovanni,
>>
>> First off, I've changed Click to not check for
>> click-buildtool unless
>> something really needs to be compiled. The previous
>> code required buildtool
>> even if nothing needed to be compiled.
>>
> ok!
>
>> To see if your configuration was really using the
>> devirtualized elements, try
>> something like
>>
>> click CLICKFILE -h flatconfig -q
>>
> This is the output of the output ot that command:
>
> forwarder :: FCCAForwarder@@forwarder(IP
> 192.168.3.100,TIMER 60, FLOODER flooder, DEBUG no,
> GESLINKS geslinks, NUM_PACKETS 5);
> flooder :: FCCAFlooder(DEBUG no, GESLINKS geslinks);
> fccaCheckHeader ::
> FCCACheckHeader@@fccaCheckHeader(CHECKSUM false, DEBUG
> no);
> fccaencap :: FCCAEncap2@@fccaencap(MHC_COEFF 230,
> FLOODER flooder);
> stripHeader :: FCCAStripHeaderKer@@stripHeader;
> geslinks :: FCCAGesLinks(ath0 00:80:48:41:4F:4C, ath1
> 00:80:48:41:4F:74);
> host/toHost :: ToHost(fcca);
> host/FromHost at 2 :: FromHost@@host/FromHost at 2(fcca,
> 192.168.3.100/255.255.255.0, ETHER 22:22:22:22:22:22);
> host/fromhost_cl ::
> Classifier@@host/fromhost_cl(12/0806, 12/0800);
> host/FCCAArpResponder at 4 ::
> FCCAArpResponder@@host/FCCAArpResponder at 4(0.0.0.0/0
> 1:1:1:1:1:1);
> ath0/WifiEncap at 1 :: WifiEncap@@ath0/WifiEncap at 1(0,
> 11:11:11:11:11:11 );
> ath0/FullNoteQueue at 2 :: Queue(10);
> ath0/ToDevice at 3 :: ToDevice@@ath0/ToDevice at 3(ath0);
> ath0/FromDevice at 4 ::
> FromDevice@@ath0/FromDevice at 4(ath0);
> ath0/Paint at 5 :: Paint@@ath0/Paint at 5(0);
> ath0/FilterTX at 6 :: FilterTX@@ath0/FilterTX at 6;
> ath0/WifiDecap at 7 :: WifiDecap@@ath0/WifiDecap at 7;
> ath0/HostEtherFilter at 8 ::
> HostEtherFilter@@ath0/HostEtherFilter at 8(00:80:48:41:4F:4C,
> DROP_OTHER true, DROP_OWN false);
> ath1/WifiEncap at 1 :: WifiEncap@@ath0/WifiEncap at 1(0,
> 11:11:11:11:11:11 );
> ath1/FullNoteQueue at 2 :: Queue(10);
> ath1/ToDevice at 3 :: ToDevice@@ath0/ToDevice at 3(ath1);
> ath1/FromDevice at 4 ::
> FromDevice@@ath0/FromDevice at 4(ath1);
> ath1/Paint at 5 :: Paint@@ath0/Paint at 5(1);
> ath1/FilterTX at 6 :: FilterTX@@ath0/FilterTX at 6;
> ath1/WifiDecap at 7 :: WifiDecap@@ath0/WifiDecap at 7;
> ath1/HostEtherFilter at 8 ::
> HostEtherFilter@@ath0/HostEtherFilter at 8(00:80:48:41:4F:74,
> DROP_OTHER true, DROP_OWN false);
>
> forwarder [2] -> ath1/WifiEncap at 1
>
>
>
> It seems that I'm using devirtualized elements, am I
> correct?
>
>> It's been a long time since anyone has TESTED the
>> performance of devirtualized
>> code. I wouldn't be surprised if the
>> devirtualization transformation wasn't
>> very important on embedded systems.
>>
> In fact the first tests I've done show the same
> performace in both cases (and the proc usage is near
> 100%). Any hints?
>
> Click kernel module, without devirtualization, has a
> little better performaces, and the cpu is idle most of
> the time (in this case I don't understand why the
> processor is idle and throughput is low).
>
>
>
>
> Inviato da Yahoo! Mail.
> La web mail più usata al mondo. http://it.docs.yahoo.com/mail/overview/index.html
>
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
More information about the click
mailing list