Messages in this thread | | | Date | Wed, 08 Sep 1999 10:13:36 +0200 | From | Manfred Spraul <> | Subject | Re: CONFIG_BIGMEM and rawio |
| |
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/
| |