[Click] socket.cc patch

Mark Huang mlhuang at CS.Princeton.EDU
Wed Jun 21 15:02:20 EDT 2006


Eddie Kohler wrote:
>> I have a couple of additional patches to Socket that I need to post, 
>> that simplifies the polling loop in run_task() and gets rid of the 
>> backoff timer, which I copied from ToDevice without really knowing why 
>> it was necessary. All that the backoff timer did was reduce 
>> performance in some of our PlanetLab experiments by 20-30%.

This change (among others) is encompassed in click-socket.patch. Along with a 
minor change to click/lib/master.cc (click-gettimeofday.patch), we were able to 
reduce syscall overhead significantly in many of our experiments. I also made a 
couple of changes to enable the Socket code to be reused by UMLSwitch 
(click-umlswitch.patch).

I was able to reproduce Beyer's hard lock, it looks like some sort of massive 
memory leak in Socket(TCP); if I didn't have 3 GB of RAM on my dev box, it 
probably would have swapped itself to death, too. I'll look into this separately 
since my patch doesn't seem to fix it or make it any worse.

Other random patches which you may or may not want to apply:

click-daemon.patch: enable userlevel Click to run as a background daemon

click-icmppingrewriter.patch: reset IP destination annotation

click-reframe.patch: pull encapsulated packets out of a TCP stream

click-fromhost.patch: add "Proper" support (PlanetLab specific). Support 
pre-configured ("static") TUN/TAP interfaces by specifying a
0.0.0.0 destination IP address.

click-proper.patch: add "Proper" support (PlanetLab specific)

click-umlswitch.patch: add a UMLSwitch element for interfacing with UML's 
uml_switch daemon.

click-rawsocket.patch: add "Proper" support (PlanetLab specific)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: click-daemon.patch
Type: text/x-patch
Size: 2928 bytes
Desc: not available
Url : https://amsterdam.lcs.mit.edu/pipermail/click/attachments/20060621/e83092aa/click-daemon-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: click-fromhost.patch
Type: text/x-patch
Size: 3163 bytes
Desc: not available
Url : https://amsterdam.lcs.mit.edu/pipermail/click/attachments/20060621/e83092aa/click-fromhost-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: click-gettimeofday.patch
Type: text/x-patch
Size: 1280 bytes
Desc: not available
Url : https://amsterdam.lcs.mit.edu/pipermail/click/attachments/20060621/e83092aa/click-gettimeofday-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: click-icmppingrewriter.patch
Type: text/x-patch
Size: 3394 bytes
Desc: not available
Url : https://amsterdam.lcs.mit.edu/pipermail/click/attachments/20060621/e83092aa/click-icmppingrewriter-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: click-proper.patch
Type: text/x-patch
Size: 3114 bytes
Desc: not available
Url : https://amsterdam.lcs.mit.edu/pipermail/click/attachments/20060621/e83092aa/click-proper-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: click-rawsocket.patch
Type: text/x-patch
Size: 2635 bytes
Desc: not available
Url : https://amsterdam.lcs.mit.edu/pipermail/click/attachments/20060621/e83092aa/click-rawsocket-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: click-reframe.patch
Type: text/x-patch
Size: 9308 bytes
Desc: not available
Url : https://amsterdam.lcs.mit.edu/pipermail/click/attachments/20060621/e83092aa/click-reframe-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: click-socket.patch
Type: text/x-patch
Size: 25387 bytes
Desc: not available
Url : https://amsterdam.lcs.mit.edu/pipermail/click/attachments/20060621/e83092aa/click-socket-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: click-umlswitch.patch
Type: text/x-patch
Size: 5579 bytes
Desc: not available
Url : https://amsterdam.lcs.mit.edu/pipermail/click/attachments/20060621/e83092aa/click-umlswitch-0001.bin


More information about the click mailing list