Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1598234 > unrolled thread
| Started by | Yisheng Xie <ysxie@foxmail.com> |
|---|---|
| First post | 2017-03-11 03:30 +0100 |
| Last post | 2017-03-11 11:00 +0100 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH RFC] mm/vmscan: donot retry shrink zones when memcg is disabled Yisheng Xie <ysxie@foxmail.com> - 2017-03-11 03:30 +0100
Re: [PATCH RFC] mm/vmscan: donot retry shrink zones when memcg is disabled Shakeel Butt <shakeelb@google.com> - 2017-03-11 04:50 +0100
Re: [PATCH RFC] mm/vmscan: donot retry shrink zones when memcg is disabled Yisheng Xie <ysxie@foxmail.com> - 2017-03-11 11:00 +0100
| From | Yisheng Xie <ysxie@foxmail.com> |
|---|---|
| Date | 2017-03-11 03:30 +0100 |
| Subject | [PATCH RFC] mm/vmscan: donot retry shrink zones when memcg is disabled |
| Message-ID | <tjEX7-4tB-1@gated-at.bofh.it> |
From: Yisheng Xie <xieyisheng1@huawei.com>
When we enter do_try_to_free_pages, the may_thrash is always clear, and
it will retry shrink zones to tap cgroup's reserves memory by setting
may_thrash when the former shrink_zones reclaim nothing.
However, if CONFIG_MEMCG=n, it should not do this useless retry at all,
for we do not have any cgroup's reserves memory to tap, and we have
already done hard work and made no progress.
Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
---
mm/vmscan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/vmscan.c b/mm/vmscan.c
index bc8031e..b03ccc1 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2808,7 +2808,7 @@ static unsigned long do_try_to_free_pages(struct zonelist *zonelist,
return 1;
/* Untapped cgroup reserves? Don't OOM, retry. */
- if (!sc->may_thrash) {
+ if (!sc->may_thrash && IS_ENABLED(CONFIG_MEMCG)) {
sc->priority = initial_priority;
sc->may_thrash = 1;
goto retry;
--
1.9.1
[toc] | [next] | [standalone]
| From | Shakeel Butt <shakeelb@google.com> |
|---|---|
| Date | 2017-03-11 04:50 +0100 |
| Message-ID | <tjGcx-5iS-1@gated-at.bofh.it> |
| In reply to | #1598234 |
On Fri, Mar 10, 2017 at 6:19 PM, Yisheng Xie <ysxie@foxmail.com> wrote:
> From: Yisheng Xie <xieyisheng1@huawei.com>
>
> When we enter do_try_to_free_pages, the may_thrash is always clear, and
> it will retry shrink zones to tap cgroup's reserves memory by setting
> may_thrash when the former shrink_zones reclaim nothing.
>
> However, if CONFIG_MEMCG=n, it should not do this useless retry at all,
> for we do not have any cgroup's reserves memory to tap, and we have
> already done hard work and made no progress.
>
> Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
> ---
> mm/vmscan.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index bc8031e..b03ccc1 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -2808,7 +2808,7 @@ static unsigned long do_try_to_free_pages(struct zonelist *zonelist,
> return 1;
>
> /* Untapped cgroup reserves? Don't OOM, retry. */
> - if (!sc->may_thrash) {
> + if (!sc->may_thrash && IS_ENABLED(CONFIG_MEMCG)) {
In my opinion it should be even more restrictive (restricting
cgroup_disabled=memory boot option and cgroup legacy hierarchy). So,
instead of IS_ENABLED(CONFIG_MEMCG), the check should be something
like (cgroup_subsys_enabled(memory_cgrp_subsys) &&
cgroup_subsys_on_dfl(memory_cgrp_subsys)).
> sc->priority = initial_priority;
> sc->may_thrash = 1;
> goto retry;
> --
> 1.9.1
>
>
>
[toc] | [prev] | [next] | [standalone]
| From | Yisheng Xie <ysxie@foxmail.com> |
|---|---|
| Date | 2017-03-11 11:00 +0100 |
| Subject | Re: [PATCH RFC] mm/vmscan: donot retry shrink zones when memcg is disabled |
| Message-ID | <tjLYC-Xt-11@gated-at.bofh.it> |
| In reply to | #1598253 |
Hi Shakeel,
Thanks for reviewing.
On 03/11/2017 11:40 AM, Shakeel Butt wrote:
> On Fri, Mar 10, 2017 at 6:19 PM, Yisheng Xie <ysxie@foxmail.com> wrote:
>> From: Yisheng Xie <xieyisheng1@huawei.com>
>>
>> When we enter do_try_to_free_pages, the may_thrash is always clear, and
>> it will retry shrink zones to tap cgroup's reserves memory by setting
>> may_thrash when the former shrink_zones reclaim nothing.
>>
>> However, if CONFIG_MEMCG=n, it should not do this useless retry at all,
>> for we do not have any cgroup's reserves memory to tap, and we have
>> already done hard work and made no progress.
>>
>> Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
>> ---
>> mm/vmscan.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/mm/vmscan.c b/mm/vmscan.c
>> index bc8031e..b03ccc1 100644
>> --- a/mm/vmscan.c
>> +++ b/mm/vmscan.c
>> @@ -2808,7 +2808,7 @@ static unsigned long do_try_to_free_pages(struct zonelist *zonelist,
>> return 1;
>>
>> /* Untapped cgroup reserves? Don't OOM, retry. */
>> - if (!sc->may_thrash) {
>> + if (!sc->may_thrash && IS_ENABLED(CONFIG_MEMCG)) {
> In my opinion it should be even more restrictive (restricting
> cgroup_disabled=memory boot option and cgroup legacy hierarchy). So,
> instead of IS_ENABLED(CONFIG_MEMCG), the check should be something
> like (cgroup_subsys_enabled(memory_cgrp_subsys) &&
> cgroup_subsys_on_dfl(memory_cgrp_subsys)).
Right, I will send another version soon.
Thanks
Yisheng Xie.
>> sc->priority = initial_priority;
>> sc->may_thrash = 1;
>> goto retry;
>> --
>> 1.9.1
>>
>>
>>
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web