linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Revert "mm: vmpressure: fix sending wrong events on underflow"
@ 2017-06-07  3:08 zhongjiang
  2017-06-07  3:55 ` Minchan Kim
  0 siblings, 1 reply; 6+ messages in thread
From: zhongjiang @ 2017-06-07  3:08 UTC (permalink / raw)
  To: akpm; +Cc: minchan, vinayakm.list, mhocko, linux-mm, linux-kernel

This reverts commit e1587a4945408faa58d0485002c110eb2454740c.

THP lru page is reclaimed , THP is split to normal page and loop again.
reclaimed pages should not be bigger than nr_scan.  because of each
loop will increase nr_scan counter.

Signed-off-by: zhongjiang <zhongjiang@huawei.com>
---
 mm/vmpressure.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/mm/vmpressure.c b/mm/vmpressure.c
index 6063581..149fdf6 100644
--- a/mm/vmpressure.c
+++ b/mm/vmpressure.c
@@ -112,16 +112,9 @@ static enum vmpressure_levels vmpressure_calc_level(unsigned long scanned,
 						    unsigned long reclaimed)
 {
 	unsigned long scale = scanned + reclaimed;
-	unsigned long pressure = 0;
+	unsigned long pressure;
 
 	/*
-	 * reclaimed can be greater than scanned in cases
-	 * like THP, where the scanned is 1 and reclaimed
-	 * could be 512
-	 */
-	if (reclaimed >= scanned)
-		goto out;
-	/*
 	 * We calculate the ratio (in percents) of how many pages were
 	 * scanned vs. reclaimed in a given time frame (window). Note that
 	 * time is in VM reclaimer's "ticks", i.e. number of pages
@@ -131,7 +124,6 @@ static enum vmpressure_levels vmpressure_calc_level(unsigned long scanned,
 	pressure = scale - (reclaimed * scale / scanned);
 	pressure = pressure * 100 / scale;
 
-out:
 	pr_debug("%s: %3lu  (s: %lu  r: %lu)\n", __func__, pressure,
 		 scanned, reclaimed);
 
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] Revert "mm: vmpressure: fix sending wrong events on underflow"
  2017-06-07  3:08 [PATCH] Revert "mm: vmpressure: fix sending wrong events on underflow" zhongjiang
@ 2017-06-07  3:55 ` Minchan Kim
  2017-06-07  4:56   ` zhong jiang
  0 siblings, 1 reply; 6+ messages in thread
From: Minchan Kim @ 2017-06-07  3:55 UTC (permalink / raw)
  To: zhongjiang; +Cc: akpm, vinayakm.list, mhocko, linux-mm, linux-kernel

On Wed, Jun 07, 2017 at 11:08:37AM +0800, zhongjiang wrote:
> This reverts commit e1587a4945408faa58d0485002c110eb2454740c.
> 
> THP lru page is reclaimed , THP is split to normal page and loop again.
> reclaimed pages should not be bigger than nr_scan.  because of each
> loop will increase nr_scan counter.

Unfortunately, there is still underflow issue caused by slab pages as
Vinayak reported in description of e1587a4945408 so we cannot revert.
Please correct comment instead of removing the logic.

Thanks.

> 
> Signed-off-by: zhongjiang <zhongjiang@huawei.com>
> ---
>  mm/vmpressure.c | 10 +---------
>  1 file changed, 1 insertion(+), 9 deletions(-)
> 
> diff --git a/mm/vmpressure.c b/mm/vmpressure.c
> index 6063581..149fdf6 100644
> --- a/mm/vmpressure.c
> +++ b/mm/vmpressure.c
> @@ -112,16 +112,9 @@ static enum vmpressure_levels vmpressure_calc_level(unsigned long scanned,
>  						    unsigned long reclaimed)
>  {
>  	unsigned long scale = scanned + reclaimed;
> -	unsigned long pressure = 0;
> +	unsigned long pressure;
>  
>  	/*
> -	 * reclaimed can be greater than scanned in cases
> -	 * like THP, where the scanned is 1 and reclaimed
> -	 * could be 512
> -	 */
> -	if (reclaimed >= scanned)
> -		goto out;
> -	/*
>  	 * We calculate the ratio (in percents) of how many pages were
>  	 * scanned vs. reclaimed in a given time frame (window). Note that
>  	 * time is in VM reclaimer's "ticks", i.e. number of pages
> @@ -131,7 +124,6 @@ static enum vmpressure_levels vmpressure_calc_level(unsigned long scanned,
>  	pressure = scale - (reclaimed * scale / scanned);
>  	pressure = pressure * 100 / scale;
>  
> -out:
>  	pr_debug("%s: %3lu  (s: %lu  r: %lu)\n", __func__, pressure,
>  		 scanned, reclaimed);
>  
> -- 
> 1.7.12.4
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] Revert "mm: vmpressure: fix sending wrong events on underflow"
  2017-06-07  3:55 ` Minchan Kim
@ 2017-06-07  4:56   ` zhong jiang
  2017-06-07  6:12     ` Minchan Kim
  0 siblings, 1 reply; 6+ messages in thread
From: zhong jiang @ 2017-06-07  4:56 UTC (permalink / raw)
  To: Minchan Kim; +Cc: akpm, vinayakm.list, mhocko, linux-mm, linux-kernel

On 2017/6/7 11:55, Minchan Kim wrote:
> On Wed, Jun 07, 2017 at 11:08:37AM +0800, zhongjiang wrote:
>> This reverts commit e1587a4945408faa58d0485002c110eb2454740c.
>>
>> THP lru page is reclaimed , THP is split to normal page and loop again.
>> reclaimed pages should not be bigger than nr_scan.  because of each
>> loop will increase nr_scan counter.
> Unfortunately, there is still underflow issue caused by slab pages as
> Vinayak reported in description of e1587a4945408 so we cannot revert.
> Please correct comment instead of removing the logic.
>
> Thanks.
  we calculate the vmpressue based on the Lru page, exclude the slab pages by previous
  discussion.    is it not this?

  Thanks
 zhongjiang
>> Signed-off-by: zhongjiang <zhongjiang@huawei.com>
>> ---
>>  mm/vmpressure.c | 10 +---------
>>  1 file changed, 1 insertion(+), 9 deletions(-)
>>
>> diff --git a/mm/vmpressure.c b/mm/vmpressure.c
>> index 6063581..149fdf6 100644
>> --- a/mm/vmpressure.c
>> +++ b/mm/vmpressure.c
>> @@ -112,16 +112,9 @@ static enum vmpressure_levels vmpressure_calc_level(unsigned long scanned,
>>  						    unsigned long reclaimed)
>>  {
>>  	unsigned long scale = scanned + reclaimed;
>> -	unsigned long pressure = 0;
>> +	unsigned long pressure;
>>  
>>  	/*
>> -	 * reclaimed can be greater than scanned in cases
>> -	 * like THP, where the scanned is 1 and reclaimed
>> -	 * could be 512
>> -	 */
>> -	if (reclaimed >= scanned)
>> -		goto out;
>> -	/*
>>  	 * We calculate the ratio (in percents) of how many pages were
>>  	 * scanned vs. reclaimed in a given time frame (window). Note that
>>  	 * time is in VM reclaimer's "ticks", i.e. number of pages
>> @@ -131,7 +124,6 @@ static enum vmpressure_levels vmpressure_calc_level(unsigned long scanned,
>>  	pressure = scale - (reclaimed * scale / scanned);
>>  	pressure = pressure * 100 / scale;
>>  
>> -out:
>>  	pr_debug("%s: %3lu  (s: %lu  r: %lu)\n", __func__, pressure,
>>  		 scanned, reclaimed);
>>  
>> -- 
>> 1.7.12.4
>>
> .
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] Revert "mm: vmpressure: fix sending wrong events on underflow"
  2017-06-07  4:56   ` zhong jiang
@ 2017-06-07  6:12     ` Minchan Kim
  2017-06-07  6:17       ` vinayak menon
  0 siblings, 1 reply; 6+ messages in thread
From: Minchan Kim @ 2017-06-07  6:12 UTC (permalink / raw)
  To: zhong jiang; +Cc: akpm, vinayakm.list, mhocko, linux-mm, linux-kernel

On Wed, Jun 07, 2017 at 12:56:57PM +0800, zhong jiang wrote:
> On 2017/6/7 11:55, Minchan Kim wrote:
> > On Wed, Jun 07, 2017 at 11:08:37AM +0800, zhongjiang wrote:
> >> This reverts commit e1587a4945408faa58d0485002c110eb2454740c.
> >>
> >> THP lru page is reclaimed , THP is split to normal page and loop again.
> >> reclaimed pages should not be bigger than nr_scan.  because of each
> >> loop will increase nr_scan counter.
> > Unfortunately, there is still underflow issue caused by slab pages as
> > Vinayak reported in description of e1587a4945408 so we cannot revert.
> > Please correct comment instead of removing the logic.
> >
> > Thanks.
>   we calculate the vmpressue based on the Lru page, exclude the slab pages by previous
>   discussion.    is it not this?
> 

IIRC, It is not merged into mainline although mmotm has it.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] Revert "mm: vmpressure: fix sending wrong events on underflow"
  2017-06-07  6:12     ` Minchan Kim
@ 2017-06-07  6:17       ` vinayak menon
  2017-06-07  6:41         ` zhong jiang
  0 siblings, 1 reply; 6+ messages in thread
From: vinayak menon @ 2017-06-07  6:17 UTC (permalink / raw)
  To: Minchan Kim; +Cc: zhong jiang, Andrew Morton, mhocko, linux-mm, linux-kernel

On Wed, Jun 7, 2017 at 11:42 AM, Minchan Kim <minchan@kernel.org> wrote:
> On Wed, Jun 07, 2017 at 12:56:57PM +0800, zhong jiang wrote:
>> On 2017/6/7 11:55, Minchan Kim wrote:
>> > On Wed, Jun 07, 2017 at 11:08:37AM +0800, zhongjiang wrote:
>> >> This reverts commit e1587a4945408faa58d0485002c110eb2454740c.
>> >>
>> >> THP lru page is reclaimed , THP is split to normal page and loop again.
>> >> reclaimed pages should not be bigger than nr_scan.  because of each
>> >> loop will increase nr_scan counter.
>> > Unfortunately, there is still underflow issue caused by slab pages as
>> > Vinayak reported in description of e1587a4945408 so we cannot revert.
>> > Please correct comment instead of removing the logic.
>> >
>> > Thanks.
>>   we calculate the vmpressue based on the Lru page, exclude the slab pages by previous
>>   discussion.    is it not this?
>>
>
> IIRC, It is not merged into mainline although mmotm has it.

That's right Minchan. That patch was not mainlined.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] Revert "mm: vmpressure: fix sending wrong events on underflow"
  2017-06-07  6:17       ` vinayak menon
@ 2017-06-07  6:41         ` zhong jiang
  0 siblings, 0 replies; 6+ messages in thread
From: zhong jiang @ 2017-06-07  6:41 UTC (permalink / raw)
  To: vinayak menon; +Cc: Minchan Kim, Andrew Morton, mhocko, linux-mm, linux-kernel

On 2017/6/7 14:17, vinayak menon wrote:
> On Wed, Jun 7, 2017 at 11:42 AM, Minchan Kim <minchan@kernel.org> wrote:
>> On Wed, Jun 07, 2017 at 12:56:57PM +0800, zhong jiang wrote:
>>> On 2017/6/7 11:55, Minchan Kim wrote:
>>>> On Wed, Jun 07, 2017 at 11:08:37AM +0800, zhongjiang wrote:
>>>>> This reverts commit e1587a4945408faa58d0485002c110eb2454740c.
>>>>>
>>>>> THP lru page is reclaimed , THP is split to normal page and loop again.
>>>>> reclaimed pages should not be bigger than nr_scan.  because of each
>>>>> loop will increase nr_scan counter.
>>>> Unfortunately, there is still underflow issue caused by slab pages as
>>>> Vinayak reported in description of e1587a4945408 so we cannot revert.
>>>> Please correct comment instead of removing the logic.
>>>>
>>>> Thanks.
>>>   we calculate the vmpressue based on the Lru page, exclude the slab pages by previous
>>>   discussion.    is it not this?
>>>
>> IIRC, It is not merged into mainline although mmotm has it.
> That's right Minchan. That patch was not mainlined.
>
>
 Hi  Minchan and vinayak

 we should revert the patch (mm: vmpressure: fix sending wrong events on underflow), then
 apply the mmotm's related patch. or drop the mmotm's related patch, then corrent the comment.

 which one make more sense.  Maybe the latter is more feasible. Suggestion ?

 Thanks
 zhongjiang

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-06-07  6:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-07  3:08 [PATCH] Revert "mm: vmpressure: fix sending wrong events on underflow" zhongjiang
2017-06-07  3:55 ` Minchan Kim
2017-06-07  4:56   ` zhong jiang
2017-06-07  6:12     ` Minchan Kim
2017-06-07  6:17       ` vinayak menon
2017-06-07  6:41         ` zhong jiang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).