Re: [PATCH v3 09/12] sched/numa: fix task scan rate adjustment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Naoya,
On Tue, Dec 10, 2013 at 01:44:35AM -0500, Naoya Horiguchi wrote:
>Hi Wanpeng,
>
>On Sun, Dec 08, 2013 at 02:14:50PM +0800, Wanpeng Li wrote:
>> commit 04bb2f947 (sched/numa: Adjust scan rate in task_numa_placement) calculate
>> period_slot which should be used as base value of scan rate increase if remote
>> access dominate. However, current codes forget to use it, this patch fix it.
>> 
>> Signed-off-by: Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx>
>> ---
>>  kernel/sched/fair.c |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>> 
>> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
>> index 7073c76..b077f1b3 100644
>> --- a/kernel/sched/fair.c
>> +++ b/kernel/sched/fair.c
>> @@ -1358,7 +1358,7 @@ static void update_task_scan_period(struct task_struct *p,
>>  		 */
>>  		period_slot = DIV_ROUND_UP(diff, NUMA_PERIOD_SLOTS);
>>  		ratio = DIV_ROUND_UP(private * NUMA_PERIOD_SLOTS, (private + shared));
>> -		diff = (diff * ratio) / NUMA_PERIOD_SLOTS;
>> +		diff = (period_slot * ratio) / NUMA_PERIOD_SLOTS;
>>  	}
>>  
>>  	p->numa_scan_period = clamp(p->numa_scan_period + diff,
>
>It seems to me that the original code is correct, because the mathematical
>meaning of this hunk is clear:
>
>  diff = (diff calculated by local-remote ratio) * (private-shared ratio)
>
>If you use period_slot here, diff always becomes less then 1/10 finally by
>the second ratio multiplication (because we divide by NUMA_PERIOD_SLOTS twice),
>and I don't see the justification.
>
>And if my idea is correct, we don't have to recalculate period_slot when
>we multiply private-shared ratio. So we can remove that line.

Thanks for your review. I agree with you when I first review this codes.
It introduced by commit 04bb2f94 (sched/numa: Adjust scan rate in 
task_numa_placement), what's your original target, Rik ?

>
>Thanks,
>Naoya Horiguchi

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]