Re: [PATCH] remove useless highmem bounce from loop/cryptoloop

From: Ben Slusky
Date: Sun Nov 02 2003 - 15:47:49 EST


My astute and obviously flawless technical analysis seems to be at odds
with the benchmarks, which show reads completed in half the time with
Andrew's patches as with mine. Writes are a little slower tho'.

Results attached.

--
Ben Slusky | Some drink from the Fountain
sluskyb@xxxxxxxxxxxxxx | of Knowledge... Others just
sluskyb@xxxxxxxxxx | gargle. ...And some pee in it.
PGP keyID ADA44B3B | -Dave Aronson

Write test:
time sh -c 'dd if=/dev/urandom of=testfoo bs=32k count=5000 conv=notrunc; sync'
0.03user 131.66system 2:26.62elapsed 89%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.03user 133.35system 2:34.15elapsed 86%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.04user 133.35system 2:30.97elapsed 88%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.03user 131.64system 2:29.25elapsed 88%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.04user 128.32system 2:26.25elapsed 87%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.03user 130.65system 2:28.31elapsed 88%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.03user 128.49system 2:25.50elapsed 88%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.04user 128.48system 2:26.03elapsed 88%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.03user 128.63system 2:25.96elapsed 88%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.03user 127.40system 2:24.91elapsed 87%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps

Read test:
time dd if=testfoo of=/dev/null bs=32k
0.04user 1.45system 0:37.20elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.05user 1.45system 0:37.07elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.04user 1.42system 0:37.10elapsed 3%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.05user 1.46system 0:37.12elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.04user 1.44system 0:37.13elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.05user 1.43system 0:37.10elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.05user 1.44system 0:37.23elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.04user 1.43system 0:37.07elapsed 3%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.05user 1.44system 0:37.13elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.05user 1.43system 0:37.12elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps

Read/Write test:
time sh -c 'tar xjf src/linux-2.6.0-test1.tar.bz2; sync'
58.32user 20.09system 1:58.83elapsed 65%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
58.86user 18.22system 1:57.10elapsed 65%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
59.00user 17.58system 1:56.83elapsed 65%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
59.28user 17.49system 1:57.10elapsed 65%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
58.84user 18.19system 1:56.98elapsed 65%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
58.82user 17.74system 1:56.15elapsed 65%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
58.89user 17.71system 1:57.00elapsed 65%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
59.07user 17.82system 1:57.33elapsed 65%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
59.36user 18.29system 1:57.05elapsed 66%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
59.14user 17.59system 1:56.91elapsed 65%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
Write test:
time sh -c 'dd if=/dev/urandom of=testfoo bs=32k count=5000 conv=notrunc; sync'
0.05user 131.32system 2:36.10elapsed 84%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.03user 137.84system 2:40.38elapsed 85%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.02user 137.72system 2:40.32elapsed 85%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.03user 137.09system 2:39.38elapsed 86%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.04user 136.31system 2:38.62elapsed 85%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.04user 135.40system 2:37.26elapsed 86%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.03user 133.00system 2:33.92elapsed 86%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.03user 134.56system 2:35.92elapsed 86%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.04user 133.76system 2:35.15elapsed 86%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (439major+100minor)pagefaults 0swaps
0.04user 133.41system 2:35.23elapsed 85%CPU (0avgtext+0avgdata 0maxresident)k

Read test:
time dd if=testfoo of=/dev/null bs=32k
0.03user 1.37system 0:18.46elapsed 7%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.04user 1.37system 0:18.20elapsed 7%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.04user 1.32system 0:17.85elapsed 7%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.04user 1.30system 0:17.66elapsed 7%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.04user 1.31system 0:17.67elapsed 7%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.04user 1.30system 0:17.67elapsed 7%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.05user 1.27system 0:17.65elapsed 7%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.04user 1.30system 0:17.64elapsed 7%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.04user 1.35system 0:18.09elapsed 7%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps
0.04user 1.38system 0:18.42elapsed 7%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (364major+75minor)pagefaults 0swaps

Read/Write test:
time sh -c 'tar xjf src/linux-2.6.0-test1.tar.bz2; sync'
60.41user 13.18system 1:57.85elapsed 62%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
60.37user 13.26system 1:58.74elapsed 62%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
60.59user 13.30system 1:57.83elapsed 62%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
60.53user 13.25system 1:58.48elapsed 62%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
60.41user 13.29system 1:58.47elapsed 62%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
60.46user 13.33system 1:57.36elapsed 62%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
60.44user 13.07system 1:59.50elapsed 61%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
60.14user 13.12system 1:58.03elapsed 62%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
60.28user 13.18system 1:58.58elapsed 61%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps
60.44user 13.32system 1:58.93elapsed 62%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (623major+1033minor)pagefaults 0swaps