Unlike other Unices sendfilev() on Solaris works only from file to
socket which limits it to HTTP GET requests. As long as Solaris does
not support file to file, socket to file and socket to socket modes it
is of very very limited use.

On 10/30/09, Jeff Trawick <[email protected]> wrote:
> Andrew Gallatin wrote:
>
> > Jeff Trawick wrote:
> >
> >
> > > Server CPU use:
> > > user space CPU is pretty close, with sendfile using the least (23.64
> sec, 24.65, 24.74)
> > > system space CPU reduction with sendfile is significant (52.55 sec,
> 69.25 sec, 68.84 sec)
> > >
> >
> > How did you measure system space CPU reduction?  A utility like "time"
> > that measures overhead only in the process context of the process you're
> > measuring, or globally, using a tool like vmstat?
> >
>
>  definitely process context only
>  (either the result of Apache calling times() or ps I imagine)
>
> >
> > The problem is that due to what I consider to be hacks to work around
> > broken drivers, packets sent by sendfile are queued up freed later
> > from a different context.  This is done without regard to CPU
> > affinity, etc, and causes excessive cache misses.
> > A tool like "time" will not show this extra overhead, but a tool
> > like vmstat which measures system-wide overhead will show the
> > extra load caused by the packets being freed in a different context.
> >
> > This seems worst on amd64 with 10GbE networks.  It may not be noticeable
> > with 1G networks.
> >
>  interesting
>
>  _______________________________________________
>  networking-discuss mailing list
>  [email protected]
>


-- 
      ,   _                                    _   ,
     { \/`o;====-    Olga Kryzhanovska   -====;o`\/ }
.----'-/`-/     [email protected]   \-`\-'----.
 `'-..-| /     Solaris/BSD//C/C++ programmer   \ |-..-'`
      /\/\                                     /\/\
      `--`                                      `--`
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to