Re: [BUG] increased us/sys-load due to tty-layer in 2.6.38+ ?!

From: Marc Kleine-Budde
Date: Tue Apr 23 2013 - 09:38:57 EST


On 04/22/2013 09:55 PM, Marc Kleine-Budde wrote:
[...]

>>> This resulted in
>>> f23eb2b2b28547fc70df82dd5049eb39bec5ba12
>>> tty: stop using "delayed_work" in the tty layer
>>>
>>> as possible cause. Reverting this commit by hand in v3.8 showed a load distribution
>>> similar to 2.6.38.
>>> What I haven't done, is measure if the load is really increasing or if top only
>>> tells me so. Maybe the algorithm to calculate this somehow produces different
>>> results because of the switch from schedule_delayed_work to schedule_work?
>>> So, is this a bug, a feature, a symptom,...?
>>
>> It's a "fake" load (i.e. no extra cpu is being used, just a "busy" wait
>> is happening.)

The below test shows that with that offending patch, there is less time
to calculate PI. My conclusion from this is that he patch increases the
load generated by the processing of the serial line in the tty layer
and/or increased overhead by more context switches/scheduling.

> Another test was to measure how long it takes to calculate 10 k digits
> of PI. Less time means less load on the system by the tty layer:
>
> idle tty open serial load
>
> v2.6.38-good 20.9s 22.3s 32.8s
> v2.6.38-bad 20.9s 22.3s 51.5s

Are there any options to decrease the load to the old value and keep the
better latency introduce by that patch?

Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |

Attachment: signature.asc
Description: OpenPGP digital signature