From: Rik van Riel on
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
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
> 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
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/