Messages in this thread |  | | | Date | Mon, 13 Mar 2000 02:04:38 -0800 | | From | "David S. Miller" <> | | Subject | Re: Linux Jobs: Update |
| |
Date: Mon, 13 Mar 2000 22:54:43 +1300 From: Chris Wedgwood <cw@f00f.org>
I think 2.3.51 is ok for bw_tcp (I've been playing with this and comparing results with Alexey about just such a thing over the last couple of days). We are about 10% slow that FreeBSD if it matters.
It could be due to ip_csum and/or memcpy tweaking.
I think bw_pipe is hosed though. At least FreeBSD (3.4) is twice as fast on my PPro200 and 2.3.51 (almost 200M/s vs 107M/s!). Ouch.
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):
bw_tcp.c:
void reader(int control[2], int pipes[2], int bytes) { int todo = XFER, done = 0, n; write(control[1], &bytes, sizeof(bytes)); while ((done < todo) && ((n = read(pipes[0], buf, XFERSIZE)) > 0)) { /* Avoid vm tricks giving bogus results. -DaveM */ buf[0] = 0; done += n; } } I bet their numbers go into shitter and ours stay the same when you make this change.
Anyways please let me know the results of the above experiment on FreeBSD. Their memcpy() is not twice as fast as ours :-)
Later, David S. Miller davem@redhat.com
- 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/
|  |