Re: bounce buffer usage

Randy.Dunlap (rddunlap@osdl.org)
Wed, 9 Jan 2002 09:23:41 -0800 (PST)


On Tue, 8 Jan 2002, Jens Axboe wrote:

| On Mon, Jan 07 2002, Randy.Dunlap wrote:
| >
| > OK, here's 'fillmem 700' run against 5 kernels as described below,
| > with my bounce io/swap statistics patch added.
| >
| > All tests are 6 instances of "fillmem 700" (700 MB) on a 4-way 4 GB
| > x86 VA 4450 server.
| >
| > I'm including a reduced version of /proc/stat -- before and after the
| > fillmem test in each case.
| >
| > Let me know if you'd like to see other variations.
|
| The results look very promising, although I'm a bit surprised that 2.5
| is actually that much quicker :-)

I was too. When I have the bounce accounting straightened out,
I'll run each test multiple times.

| The bounce counts you are doing don't make too much sense to me though,
| how come 2.4 + block-high and 2.5 show any bounced numbers at all? Maybe
| you are not doing the accounting correctly? To get the right counts do
| something ala:

Clearly I mucked that up. Thanks for pointing it out.
The patch below makes sense, but I also want to count
"bounced swap IOs" separately. I'll retest and report that
when I have it done.

| +++ mm/highmem.c
| @@ -409,7 +409,9 @@
| vfrom = kmap(from->bv_page) + from->bv_offset;
| memcpy(vto, vfrom, to->bv_len);
| kunmap(from->bv_page);
| - }
| + bounced_write++;
| + } else
| + bounced_read++;
| }
|
| Of course those are all bounces, not just (or only) swap bounces. Also
| note that the above is not SMP safe.

Is this the only place that kstat (kernel_stat) counters
are not SMP safe...?

-- 
~Randy

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