[Click] devirtualize for an embedded system

Giovanni Di Stasi gdstasi at yahoo.it
Mon Mar 10 06:31:47 EDT 2008


--- 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



More information about the click mailing list