Re: [PATCH 10/10] ksm: change ksm nice level to be 5

From: Balbir Singh
Date: Mon Jul 20 2009 - 08:15:01 EST


* Izik Eidus <ieidus@xxxxxxxxxx> [2009-07-20 14:48:04]:

> Balbir Singh wrote:
>> * Izik Eidus <ieidus@xxxxxxxxxx> [2009-07-17 20:30:50]:
>>
>>
>>> From: Izik Eidus <ieidus@xxxxxxxxxx>
>>>
>>> ksm should try not to disturb other tasks as much as possible.
>>>
>>> Signed-off-by: Izik Eidus <ieidus@xxxxxxxxxx>
>>> ---
>>> mm/ksm.c | 2 +-
>>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/mm/ksm.c b/mm/ksm.c
>>> index 75d7802..4afe345 100644
>>> --- a/mm/ksm.c
>>> +++ b/mm/ksm.c
>>> @@ -1270,7 +1270,7 @@ static void ksm_do_scan(unsigned int scan_npages)
>>>
>>> static int ksm_scan_thread(void *nothing)
>>> {
>>> - set_user_nice(current, 0);
>>> + set_user_nice(current, 5);
>>>
>>
>> Is the 5 arbitrary? Why not +19? What is the intention of this change
>> - to run when no other task is ready to run?
>>
>
> Hey Balbir,
>
> I thought about giving it the lowest priority of nice before I did this
> patch, but then I came into understanding that it isn't right,
> Although ksm should not distrub other tasks while they are running, it
> does need to run while they are running,
> most of the use cases for ksm is to find identical pages in real time
> while they are changing in the application, so giving it the lowest
> priority doesn't seems right to me,
>
> But my understanding of how the nice prioritys are working is just my
> intuition, so if you know better and think that for the use case i
> described above other nice priority is better fit, tell me and I wont
> have any problem to change.
>
>


I was just checking to see why 5? May be it might be a good idea to
document or at-least have rules on what priorities kernel threads can
take?

>>
>>> while (!kthread_should_stop()) {
>>> if (ksm_run & KSM_RUN_MERGE) {
>>>
>>
>>
>

--
Balbir
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/