Re: [oom]: [3/4] track wired pages on a per-zone basis

From: William Lee Irwin III
Date: Wed Jun 23 2004 - 17:35:08 EST


William Lee Irwin III <wli@xxxxxxxxxxxxxx> wrote:
>> struct per_cpu_pageset pageset[NR_CPUS];
>> + unsigned long nr_wired[NR_CPUS];

On Wed, Jun 23, 2004 at 03:15:36PM -0700, Andrew Morton wrote:
> These will share cachelines of course, so the percpuification won't be very
> effective. I wonder if there's some way in which the nr_wired accounting
> can be batched up and then dumped into a single per-zone counter when we
> have the zone->lru_lock.

It's difficult to anticipate the number of zones required for a per-cpu
data structure to be periodically resynched with the zones. The
counters, both global and per-zone are purely for reporting purposes
and have no impact on functionality in this series.


On Wed, Jun 23, 2004 at 03:15:36PM -0700, Andrew Morton wrote:
> How come there are all those PageWired() tests in the LRU manipulation
> functions?

Largely for the benefit of ramfs. As you pointed out, rd.c's blkdev
pagecache requires similar treatment. The net effect of these is that
wired pagecache pages don't appear on the LRU at all. This makes the
assumption that all wired pagecache is memory-backed and never needs
to be written to its backing store, which AFAICT is true in all cases.


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