> On 19 Feb 2018, at 13:10, Mel Gorman <mgor...@suse.de> wrote: > > On Mon, Feb 19, 2018 at 12:26:39PM +0000, Robert Harris wrote: >> >> >>> On 19 Feb 2018, at 09:47, Mel Gorman <mgor...@suse.de> wrote: >>> >>> On Sun, Feb 18, 2018 at 04:47:55PM +0000, robert.m.har...@oracle.com wrote: >>>> From: "Robert M. Harris" <robert.m.har...@oracle.com> >>>> >>>> __fragmentation_index() calculates a value used to determine whether >>>> compaction should be favoured over page reclaim in the event of allocation >>>> failure. The calculation itself is opaque and, on inspection, does not >>>> match its existing description. The function purports to return a value >>>> between 0 and 1000, representing units of 1/1000. Barring the case of a >>>> pathological shortfall of memory, the lower bound is instead 500. This is >>>> significant because it is the default value of sysctl_extfrag_threshold, >>>> i.e. the value below which compaction should be avoided in favour of page >>>> reclaim for costly pages. >>>> >>>> This patch implements and documents a modified version of the original >>>> expression that returns a value in the range 0 <= index < 1000. It amends >>>> the default value of sysctl_extfrag_threshold to preserve the existing >>>> behaviour. >>>> >>>> Signed-off-by: Robert M. Harris <robert.m.har...@oracle.com> >>> >>> You have to update sysctl_extfrag_threshold as well for the new bounds. >> >> This patch makes its default value zero. >> > > Sorry, I'm clearly blind. > >>> It effectively makes it a no-op but it was a no-op already and adjusting >>> that default should be supported by data indicating it's safe. >> >> Would it be acceptable to demonstrate using tracing that in both the >> pre- and post-patch cases >> >> 1. compaction is attempted regardless of fragmentation index, >> excepting that >> >> 2. reclaim is preferred even for non-zero fragmentation during >> an extreme shortage of memory >> > > If you can demonstrate that for both reclaim-intensive and > compaction-intensive workloads then yes. Also include the reclaim and > compaction stats from /proc/vmstat and not just tracepoints to demonstrate > that reclaim doesn't get out of control and reclaim the world in > response to failed high-order allocations such as THP.
Understood. Thanks. Robert Harris