Messages in this thread | | | Date | Wed, 24 Mar 2010 14:54:32 -0500 (CDT) | From | Christoph Lameter <> | Subject | Re: [PATCH 11/11] Do not compact within a preferred zone after a compaction failure |
| |
On Wed, 24 Mar 2010, Mel Gorman wrote:
> > > What I was thinking at the time was that compact_resume was stored in struct > > > zone - i.e. that is where it is recorded. > > > > Ok adding a dozen or more words here may be useful. > > > > In the event of compaction followed by an allocation failure, this patch > defers further compaction in the zone for a period of time. The zone that > is deferred is the first zone in the zonelist - i.e. the preferred zone. > To defer compaction in the other zones, the information would need to > be stored in the zonelist or implemented similar to the zonelist_cache. > This would impact the fast-paths and is not justified at this time. > > ?
Ok.
> > There are frequent uses of HZ/10 as well especially in vmscna.c. A longer > > time may be better? HZ/50 looks like an interval for writeout. But this > > is related to reclaim? > > > > HZ/10 is somewhat of an arbitrary choice as well and there isn't data on > which is better and which is worse. If the zone is full of dirty data, then > HZ/10 makes sense for IO. If it happened to be mainly clean cache but under > heavy memory pressure, then reclaim would be a relatively fast event and a > shorter wait makes sense of HZ/50. > > Thing is, if we start with a short timer and it's too short, COMPACTFAIL > will be growing steadily. If we choose a long time and it's too long, there > is no counter to indicate it was a bad choice. Hence, I'd prefer the short > timer to start with and ideally resume compaction after some event in the > future rather than depending on time. > > Does that make sense?
Yes.
| |