Prev: vmscan: shrink_slab() require number of lru_pages, not page order
Next: [PATCH] USB: gadget: f_mass_storage: stale common->fsg value bug fix
From: Rik van Riel on 25 Jun 2010 10:20 On 06/25/2010 04:31 AM, KOSAKI Motohiro wrote: > Swap token don't works when zone reclaim is enabled since it was born. > Because __zone_reclaim() always call disable_swap_token() > unconditionally. > > This kill swap token feature completely. As far as I know, nobody want > to that. Remove it. > > Cc: Rik van Riel<riel(a)redhat.com> > Cc: Christoph Lameter<cl(a)linux-foundation.org> > Signed-off-by: KOSAKI Motohiro<kosaki.motohiro(a)jp.fujitsu.com> You are absolutely right. Acked-by: Rik van Riel <riel(a)redhat.com> -- All rights reversed -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Minchan Kim on 26 Jun 2010 20:00 On Fri, Jun 25, 2010 at 5:31 PM, KOSAKI Motohiro <kosaki.motohiro(a)jp.fujitsu.com> wrote: > Swap token don't works when zone reclaim is enabled since it was born. > Because __zone_reclaim() always call disable_swap_token() > unconditionally. > > This kill swap token feature completely. As far as I know, nobody want > to that. Remove it. > In f7b7fd8f3ebbb, Rik added disable_swap_token. At that time, sc.priority in zone_reclaim is zero so it does make sense. But in a92f71263a, Christoph changed the priority to begin from ZONE_RECLAIM_PRIORITY with remained disable_swap_token. It doesn't make sense. So doesn't we add disable_swap_token following as than removing? diff --git a/mm/vmscan.c b/mm/vmscan.c index 9c7e57c..d8050c7 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -2590,7 +2590,6 @@ static int __zone_reclaim(struct zone *zone, gfp_t gfp_mask, unsigned int order) }; unsigned long slab_reclaimable; - disable_swap_token(); cond_resched(); /* * We need to be able to allocate from the reserves for RECLAIM_SWAP @@ -2612,6 +2611,8 @@ static int __zone_reclaim(struct zone *zone, gfp_t gfp_mask, unsigned int order) note_zone_scanning_priority(zone, priority); shrink_zone(priority, zone, &sc); priority--; + if (!priority) + disable_swap_token(); } while (priority >= 0 && sc.nr_reclaimed < nr_pages); } -- Kind regards, Minchan Kim -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: KOSAKI Motohiro on 27 Jun 2010 21:40 > On Fri, Jun 25, 2010 at 5:31 PM, KOSAKI Motohiro > <kosaki.motohiro(a)jp.fujitsu.com> wrote: > > Swap token don't works when zone reclaim is enabled since it was born. > > Because __zone_reclaim() always call disable_swap_token() > > unconditionally. > > > > This kill swap token feature completely. As far as I know, nobody want > > to that. Remove it. > > > > In f7b7fd8f3ebbb, Rik added disable_swap_token. > At that time, sc.priority in zone_reclaim is zero so it does make sense. > But in a92f71263a, Christoph changed the priority to begin from > ZONE_RECLAIM_PRIORITY with remained disable_swap_token. It doesn't > make sense. > > So doesn't we add disable_swap_token following as than removing? f7b7fd8f3ebbb says disable_swap_token was introduced to prevent OOM. but zone reclaim failure don't make OOM. instead, fallback to try_to_free_pages(). If the system have really heavy pressure, do_try_to_free_pages() will call disable_swap_token(). So, What benefit is there? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Minchan Kim on 28 Jun 2010 06:50
On Mon, Jun 28, 2010 at 10:37 AM, KOSAKI Motohiro <kosaki.motohiro(a)jp.fujitsu.com> wrote: >> On Fri, Jun 25, 2010 at 5:31 PM, KOSAKI Motohiro >> <kosaki.motohiro(a)jp.fujitsu.com> wrote: >> > Swap token don't works when zone reclaim is enabled since it was born. >> > Because __zone_reclaim() always call disable_swap_token() >> > unconditionally. >> > >> > This kill swap token feature completely. As far as I know, nobody want >> > to that. Remove it. >> > >> >> In f7b7fd8f3ebbb, Rik added disable_swap_token. >> At that time, sc.priority in zone_reclaim is zero so it does make sense. >> But in a92f71263a, Christoph changed the priority to begin from >> ZONE_RECLAIM_PRIORITY with remained disable_swap_token. It doesn't >> make sense. >> >> So doesn't we add disable_swap_token following as than removing? > > f7b7fd8f3ebbb says disable_swap_token was introduced to prevent OOM. > but zone reclaim failure don't make OOM. instead, fallback to try_to_free_pages(). Indeed. I missed that. Thanks, Kosaki. Reviewed-by: Minchan Kim <minchan.kim(a)gmail.com> -- Kind regards, Minchan Kim -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |