Re: Linux Jobs: Update

From: Chris Wedgwood (cw@f00f.org)
Date: Mon Mar 13 2000 - 16:46:00 EST


On Mon, Mar 13, 2000 at 02:04:38AM -0800, David S. Miller wrote:

> It could be due to ip_csum and/or memcpy tweaking.

That much difference?

> FreeBSD's pipe code plays vm tricks to not even copy the
> data from one process to another.
>
> Modify the bw_pipe benchmark to actually write some dummy value
> into the read() side buffer in each page of data read during
> that read() call. Perhaps something like replacing bw_pipe.c:reader()
> with the following (untested):

I tried various things -- none changed the results significantly. In
the end I had both reader and writer doing buf[0]++ figuring and lazy
mappings or something would have to be trigger buy that.

[...]

> Anyways please let me know the results of the above experiment
> on FreeBSD. Their memcpy() is not twice as fast as ours :-)

The results are the same -- all I can think of now are hardware
differences. The machines are bot PPro200's -- but perhaps one has
superior memory bandwidth or something?

<pause>

OK, a little fiddling with bw_mem_wr & bw_mem_cp shows the main
memory bandwidth of the linux machine is slightly higher, however,
there is something else going on:

  bw_mem_cp 8k libc aligned - both very fast

  bw_mem_cw 32k libc aligned - same speed (both fast)

  bw_mem_cw 64k libc aligned - FreeBSD is consistently fast (same
                                  speed as above)

                                - Linux only gets the same speed as
                                  before one some of the time (maybe
                                  2/3 times I try this)

  bw_mem_cp 128k libc aligned - FreeBSD is marginally slower
                                  (230M/s vs 245M/s)

                                - Linux throughput has gone to shit.
                                  100M/s vs 260M/s and with fairly
                                  large amounts of variance in this
                                  result.

For values much above this both slow down considerably and they spill
completely from L2 cache (both 256k) I assume (actually, even 160K
slows us down plenty which surprises me a little).

It looks to me like either linux is spilling form the L2 cache
earlier that FreeBSD or that lack of page colouring (remember the
PPro cores are only 4-way SA) could be the problem?

Interestingly, for anything that fits in the L1 cache linux is much
faster (558M/s vs 355M/s) than FreeBSD -- a better libc memcpy
perhaps?

-cw

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Mar 15 2000 - 21:00:26 EST