lkml.org 
[lkml]   [1999]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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/

\
 
 \ /
  Last update: 2005-03-22 13:53    [W:0.070 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site