lkml.org 
[lkml]   [2015]   [May]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Re: [RFC PATCH] suspend/resume performance improvement

On Tue 2015-05-27 16:50 (GMT+09:00), Pavel Machek wrote:

>> So, instead of depending on a userspace task's time
>> slice, let kworker do the work to avoid a long wait
>> on the runqueue.
>
>...so if you really want high priority for that operation, just renice
>yourself to higher priority or something...

The problem occured on Android L version. KK had autosuspend enabled
but it was disabled in L to allow userspace to collect stats.

The delay was inside try_to_freeze_tasks function (at system_server thread of system_server process).
system_server got preempted after unlocking the tasklist_lock.
46 while (true) {
47 todo = 0;
48 read_lock(&tasklist_lock);
49 for_each_process_thread(g, p) {
50 if (p == current || !freeze_task(p))
51 continue;
52
53 if (!freezer_should_skip(p))
54 todo++;
55 }
56 read_unlock(&tasklist_lock);

All of the threads of system_server process that was on the runqueue did not run during this period.
Freezing of tasks resumed after other tasks went out of the runqueue.

I have tested with the lowest nice value but the problem was still, although less, reproducible.

Best Regards,
Euntaik Lee
\
 
 \ /
  Last update: 2015-05-27 13:21    [W:0.893 / U:0.500 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site