[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <51970BF9.7070602@linux.vnet.ibm.com>
Date: Sat, 18 May 2013 10:34:57 +0530
From: "Srivatsa S. Bhat" <srivatsa.bhat@...ux.vnet.ibm.com>
To: "Rafael J. Wysocki" <rjw@...k.pl>
CC: Olivier Doucet <webmaster@...ux.com>,
Borislav Petkov <bp@...en8.de>, linux-kernel@...r.kernel.org,
Linux PM mailing list <linux-pm@...r.kernel.org>
Subject: Re: Performance issue since 3.2.6
On 05/18/2013 05:21 AM, Rafael J. Wysocki wrote:
> On Saturday, May 18, 2013 01:20:10 AM Srivatsa S. Bhat wrote:
>> On 05/17/2013 11:47 PM, Olivier Doucet wrote:
>>> Hello,
>>>
>>> This performance penalty is still present in kernel 3.9.2. And
>>> CONFIG_PM cannot be deactivated anymore.
>>>
>>> I was able to make a working 3.9.2 (meaning with no penalty) with
>>> following config and patch :
>>> CONFIG_PM=y
>>> CONFIG_PM_SLEEP=y
>>> CONFIG_PM_SLEEP_SMP=y
>>> CONFIG_CPU_IDLE=y
>>> CONFIG_ACPI=y
>>> CONFIG_ACPI_PROCESSOR=y
>>>
>>> Patch : https://gist.github.com/odoucet/5600630
>>>
[...]
>> So, to summarize my thoughts:
>> - IMHO there is no regression here, you just depended on a bug included
>> in 3.2.0 (which made it behave like idle=poll with CONFIG_PM=n) and
>> started your comparisons from there. The later kernels (3.2.6+) got
>> that bug fixed which is why you saw "performance drops".
>>
>> - As much as we would like to do it, we can't set the value of
>> PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE to 0 when CONFIG_PM=n, because
>> CONFIG_PM doesn't encompass all power-management features (which is
>> a pity). Doing that would need a big overhaul of all the relevant
>> Kconfigs, which might or might not be worth the effort. (Because, who
>> says that CONFIG_PM=n kernels are supposed to eat power like crazy??)
>
> I think it *is* worth the effort. We could drop some CONFIG_PM* options in the
> process which would simplify things quite a bit too.
>
Ah, ok..
>> So here is my suggestion - use the interfaces provided by the kernel to
>> fix your problem:
>> - you can give idle=poll in the kernel command line,
>> - OR you can echo 0 > /dev/cpu_dma_latency
>>
>> Irrespective of your kernel configuration options (CONFIG_PM=y/n), the
>> CPUs will not enter deep idle states, giving you the performance
>> improvement that you are looking for.
>
> Thanks a lot for the very clear explanation of this!
>
No problem! :-)
Regards,
Srivatsa S. Bhat
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists