Re: [patch] lazy I/O bitmap copy for i386 (ver 2) ...

From: Davide Libenzi
Date: Tue Aug 24 2004 - 15:07:14 EST


On Tue, 24 Aug 2004, Davide Libenzi wrote:

> The following patch implements the lazy I/O bitmap copy for the i386
> architecture. It uses an invalid bitmap offset inside the TSS to eventually
> handle the correct bitmap update in the GPF handler. The logic is the same
> of the first version, plus the usage of get/put_cpu() (thx Brian) and the
> nesting over the latest Ingo variable bitmap bits.

As followup, I instrumented the switchto code to do something like:

if (prev->io_bitmap_ptr) {
if (tss->io_bitmap_base == INVALID_IO_BITMAP_OFFSET_LAZY)
no_hit_gpf++;
else
hit_gpf++;
}

After a couple of minutes of light X usage I get:

Hit: 1017
NoHit: 29541

This is FC1 up-to-date (yesterday's ~60% rate was due an incorrect test
performed in the instrumentation code). Did not run any perf test, but for
sure updating an unsigned long should result faster than memcpy/memset
memory regions, during context switches.



- Davide

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