[MVLUG] more slow home controller
joseph at pfeifferfamily.net
Sun Jul 12 23:39:52 MDT 2009
Karl F. Larsen writes:
> I am sorry Joe, but I have no idea, what you wrote on the mvlug web
>page, or what you wrote here means. I am a pretty good trouble finder
>when it is a Linux question, but your question appears to have nothing
>to do with Linux. For example there is no such thing as a TCP_NODELAY
>and the Nagle algorithm, and corking sockets in my Ubuntu Linux. In fact
>the Nagle work was to try and assure every packet was full of data. No
>45 byte packets with just 1 data byte.
Ah, OK -- I think I'm probably working at a level a bit closer to the
OS itself than you're familiar with.
What's going on is some sort of interaction between the network code
in the Linux kernel and the particular server I'm trying to talk to on
the network. So it boils down to figuring out what the server is
doing that's triggering pathological behavior in Linux's networking,
and how to work around it. And it's certainly in the Linux kernel
network code, since a very small program that exercises that code
believes it's sent out the data several seconds before it actually
goes out (that's what my little client.c program established). And
it's definitely the interaction with that server, since other servers
(like apache) don't trigger it.
When I'm talking about TCP_NODELAY and corking and uncorking, I'm
talking about network options that can be set by a C program that
makes appropriate calls to the operating system to modify how and when
packets are sent out (and your ubuntu box actually does have these
capabilities, though a user doesn't ordinarily see them unless they're
doing system-level network programming).
More information about the MVLUG