Re: [PATCH] mm/compaction: restore COMPACT_CLUSTER_MAX to 32
On Mon, Dec 07, 2015 at 05:00:41PM -0800, Andrew Morton wrote: > On Thu, 3 Dec 2015 13:11:40 +0900 Joonsoo Kim wrote: > > > Until now, COMPACT_CLUSTER_MAX is defined as SWAP_CLUSTER_MAX. > > Commit ("mm: increase SWAP_CLUSTER_MAX to batch TLB flushes") > > changes SWAP_CLUSTER_MAX from 32 to 256 to improve tlb flush performance > > so COMPACT_CLUSTER_MAX is also changed to 256. > > "mm: increase SWAP_CLUSTER_MAX to batch TLB flushes" has been in limbo > for quite a while. Because it has been unclear whether the patch's > benefits exceed its costs+risks. > > We should make a decision here - either do the appropriate testing or > drop the patch. > At this point, drop it. The benefits that apply to some corner cases are marginal but the concerns about potentially isolating and reclaiming too much persist. -- Mel Gorman SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mm/compaction: restore COMPACT_CLUSTER_MAX to 32
On Mon, Dec 07, 2015 at 05:00:41PM -0800, Andrew Morton wrote: > On Thu, 3 Dec 2015 13:11:40 +0900 Joonsoo Kimwrote: > > > Until now, COMPACT_CLUSTER_MAX is defined as SWAP_CLUSTER_MAX. > > Commit ("mm: increase SWAP_CLUSTER_MAX to batch TLB flushes") > > changes SWAP_CLUSTER_MAX from 32 to 256 to improve tlb flush performance > > so COMPACT_CLUSTER_MAX is also changed to 256. > > "mm: increase SWAP_CLUSTER_MAX to batch TLB flushes" has been in limbo > for quite a while. Because it has been unclear whether the patch's > benefits exceed its costs+risks. > > We should make a decision here - either do the appropriate testing or > drop the patch. > At this point, drop it. The benefits that apply to some corner cases are marginal but the concerns about potentially isolating and reclaiming too much persist. -- Mel Gorman SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mm/compaction: restore COMPACT_CLUSTER_MAX to 32
On Thu, 3 Dec 2015 13:11:40 +0900 Joonsoo Kim wrote: > Until now, COMPACT_CLUSTER_MAX is defined as SWAP_CLUSTER_MAX. > Commit ("mm: increase SWAP_CLUSTER_MAX to batch TLB flushes") > changes SWAP_CLUSTER_MAX from 32 to 256 to improve tlb flush performance > so COMPACT_CLUSTER_MAX is also changed to 256. "mm: increase SWAP_CLUSTER_MAX to batch TLB flushes" has been in limbo for quite a while. Because it has been unclear whether the patch's benefits exceed its costs+risks. We should make a decision here - either do the appropriate testing or drop the patch. > But, it has > no justification on compaction-side and I think that loss is more than > benefit. > > One example is that migration scanner would isolates and migrates > too many pages unnecessarily with 256 COMPACT_CLUSTER_MAX. It may be > enough to migrate 4 pages in order to make order-2 page, but, now, > compaction will migrate 256 pages. > > To reduce this unneeded overhead, this patch restores > COMPACT_CLUSTER_MAX to 32. > > ... > > --- a/include/linux/swap.h > +++ b/include/linux/swap.h > @@ -155,7 +155,7 @@ enum { > }; > > #define SWAP_CLUSTER_MAX 256UL > -#define COMPACT_CLUSTER_MAX SWAP_CLUSTER_MAX > +#define COMPACT_CLUSTER_MAX 32UL > > /* > * Ratio between zone->managed_pages and the "gap" that above the per-zone -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mm/compaction: restore COMPACT_CLUSTER_MAX to 32
On Thu, 3 Dec 2015 13:11:40 +0900 Joonsoo Kimwrote: > Until now, COMPACT_CLUSTER_MAX is defined as SWAP_CLUSTER_MAX. > Commit ("mm: increase SWAP_CLUSTER_MAX to batch TLB flushes") > changes SWAP_CLUSTER_MAX from 32 to 256 to improve tlb flush performance > so COMPACT_CLUSTER_MAX is also changed to 256. "mm: increase SWAP_CLUSTER_MAX to batch TLB flushes" has been in limbo for quite a while. Because it has been unclear whether the patch's benefits exceed its costs+risks. We should make a decision here - either do the appropriate testing or drop the patch. > But, it has > no justification on compaction-side and I think that loss is more than > benefit. > > One example is that migration scanner would isolates and migrates > too many pages unnecessarily with 256 COMPACT_CLUSTER_MAX. It may be > enough to migrate 4 pages in order to make order-2 page, but, now, > compaction will migrate 256 pages. > > To reduce this unneeded overhead, this patch restores > COMPACT_CLUSTER_MAX to 32. > > ... > > --- a/include/linux/swap.h > +++ b/include/linux/swap.h > @@ -155,7 +155,7 @@ enum { > }; > > #define SWAP_CLUSTER_MAX 256UL > -#define COMPACT_CLUSTER_MAX SWAP_CLUSTER_MAX > +#define COMPACT_CLUSTER_MAX 32UL > > /* > * Ratio between zone->managed_pages and the "gap" that above the per-zone -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] mm/compaction: restore COMPACT_CLUSTER_MAX to 32
Until now, COMPACT_CLUSTER_MAX is defined as SWAP_CLUSTER_MAX. Commit ("mm: increase SWAP_CLUSTER_MAX to batch TLB flushes") changes SWAP_CLUSTER_MAX from 32 to 256 to improve tlb flush performance so COMPACT_CLUSTER_MAX is also changed to 256. But, it has no justification on compaction-side and I think that loss is more than benefit. One example is that migration scanner would isolates and migrates too many pages unnecessarily with 256 COMPACT_CLUSTER_MAX. It may be enough to migrate 4 pages in order to make order-2 page, but, now, compaction will migrate 256 pages. To reduce this unneeded overhead, this patch restores COMPACT_CLUSTER_MAX to 32. Signed-off-by: Joonsoo Kim --- include/linux/swap.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/swap.h b/include/linux/swap.h index d08feef..31eb343 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h @@ -155,7 +155,7 @@ enum { }; #define SWAP_CLUSTER_MAX 256UL -#define COMPACT_CLUSTER_MAX SWAP_CLUSTER_MAX +#define COMPACT_CLUSTER_MAX 32UL /* * Ratio between zone->managed_pages and the "gap" that above the per-zone -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] mm/compaction: restore COMPACT_CLUSTER_MAX to 32
Until now, COMPACT_CLUSTER_MAX is defined as SWAP_CLUSTER_MAX. Commit ("mm: increase SWAP_CLUSTER_MAX to batch TLB flushes") changes SWAP_CLUSTER_MAX from 32 to 256 to improve tlb flush performance so COMPACT_CLUSTER_MAX is also changed to 256. But, it has no justification on compaction-side and I think that loss is more than benefit. One example is that migration scanner would isolates and migrates too many pages unnecessarily with 256 COMPACT_CLUSTER_MAX. It may be enough to migrate 4 pages in order to make order-2 page, but, now, compaction will migrate 256 pages. To reduce this unneeded overhead, this patch restores COMPACT_CLUSTER_MAX to 32. Signed-off-by: Joonsoo Kim--- include/linux/swap.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/swap.h b/include/linux/swap.h index d08feef..31eb343 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h @@ -155,7 +155,7 @@ enum { }; #define SWAP_CLUSTER_MAX 256UL -#define COMPACT_CLUSTER_MAX SWAP_CLUSTER_MAX +#define COMPACT_CLUSTER_MAX 32UL /* * Ratio between zone->managed_pages and the "gap" that above the per-zone -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/