mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
[PATCH] zoned vm counters: convert nr_mapped to per zone counter
nr_mapped is important because it allows a determination of how many pages of a zone are not mapped, which would allow a more efficient means of determining when we need to reclaim memory in a zone. We take the nr_mapped field out of the page state structure and define a new per zone counter named NR_FILE_MAPPED (the anonymous pages will be split off from NR_MAPPED in the next patch). We replace the use of nr_mapped in various kernel locations. This avoids the looping over all processors in try_to_free_pages(), writeback, reclaim (swap + zone reclaim). [akpm@osdl.org: bugfix] Signed-off-by: Christoph Lameter <clameter@sgi.com> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
2244b95a7b
commit
65ba55f500
@@ -47,6 +47,9 @@ struct zone_padding {
|
||||
#endif
|
||||
|
||||
enum zone_stat_item {
|
||||
NR_FILE_MAPPED, /* mapped into pagetables.
|
||||
only modified from process context */
|
||||
|
||||
NR_VM_ZONE_STAT_ITEMS };
|
||||
|
||||
struct per_cpu_pages {
|
||||
|
||||
@@ -26,8 +26,6 @@ struct page_state {
|
||||
unsigned long nr_writeback; /* Pages under writeback */
|
||||
unsigned long nr_unstable; /* NFS unstable pages */
|
||||
unsigned long nr_page_table_pages;/* Pages used for pagetables */
|
||||
unsigned long nr_mapped; /* mapped into pagetables.
|
||||
* only modified from process context */
|
||||
unsigned long nr_slab; /* In slab */
|
||||
#define GET_PAGE_STATE_LAST nr_slab
|
||||
|
||||
|
||||
Reference in New Issue
Block a user