Re: CONFIG_BIGMEM and rawio

Manfred Spraul (manfreds@colorfullife.com)
Wed, 08 Sep 1999 10:13:36 +0200


Andrea Arcangeli wrote:
> So basically using a bounce-page to do the swapout can decrease a
> bit the performances because you'll duplicate the data that may be
> otherwise shared between the swapout-write and the other process reading
> it via the wr-protect pgtable at the same time, but it's safe.

I assumed it its safe, but I wanted to point out the performance loss:

+ without CONFIG_BIGMEM, the shared page will remain shared during
swapout and during the swapin.
[please correct me if I'm wrong]

+ with CONFIG_BIGMEM and a page in the bigmem area, the "shared-status"
is lost, and 2 independant pages are created.

If Stephen implements bounce buffers in ll_rw_page(), then the pages
could remain shared.
[but I still think bounce buffers in ll_rw_page() during swap-out could
cause OOM problems]

------------
Btw, is the big kernel lock required for calling lookup_swap_cache()?
The comment in mm/swap_state.c says[line 290]:
"[...] we rely on the kernel lock getting page table operations atomic
even if [...]"

but do_swap_page() [mm/memory.c, line 974] calls lookup_swap_cache()
without acquiring the big kernel lock.

--
	Manfred

- 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/