2007-10-08 22:05:34

by Pavel Machek

[permalink] [raw]
Subject: sleepy linux 2.6.23-rc9

Hi!

I played with powertop a bit, and found a fairly interesting failure
mode. If I boot init=/bin/bash vga=1, I get ~2 wakeups a second, nice.

When I boot init=/bin/bash vga=791 (vesa framebuffer), most wakeups
are caused by cursor painting (I should fix that some day, I
guess). But... the cursor blinking does not even work properly!

It blinks at normal speed, then (randomly) it blinks slowly, then gets
back to normal speed, then inserts longer delay.

The effect is so nice that I thought about youtube ;-). Thinkpad
x60.. question is, how to debug it?

(config attached, I did all the stuff powertop told me to, and then some.)
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


Attachments:
(No filename) (790.00 B)
config.gz (11.75 kB)
Download all attachments

2007-10-08 23:47:00

by Clemens Koller

[permalink] [raw]
Subject: Re: sleepy linux 2.6.23-rc9

Pavel Machek schrieb:
> I played with powertop a bit, and found a fairly interesting failure
> mode. If I boot init=/bin/bash vga=1, I get ~2 wakeups a second, nice.
>
> When I boot init=/bin/bash vga=791 (vesa framebuffer), most wakeups
> are caused by cursor painting (I should fix that some day, I
> guess). But... the cursor blinking does not even work properly!
>
> It blinks at normal speed, then (randomly) it blinks slowly, then gets
> back to normal speed, then inserts longer delay.

Is the effect a beat that it has roughly the frequency of your Notebooks
screen refresh rate (60Hz)? (in german: Schwebung)

> The effect is so nice that I thought about youtube ;-). Thinkpad
> x60.. question is, how to debug it?

No idea... check where the register of the HW cursor blink rate
gets written? But as it seems to be so nice, please submit a patch
which enables this for all platforms. ;-)

Regards,
--
Clemens Koller
_______________________________
R&D Imaging Devices
Anagramm GmbH
Rupert-Mayer-Str. 45/1
81379 Muenchen
Germany

http://www.anagramm-technology.com
Phone: +49-89-741518-50
Fax: +49-89-741518-19

2007-10-09 00:52:58

by H. Peter Anvin

[permalink] [raw]
Subject: Re: sleepy linux 2.6.23-rc9

Clemens Koller wrote:
>>
>> When I boot init=/bin/bash vga=791 (vesa framebuffer), most wakeups
>> are caused by cursor painting (I should fix that some day, I
>> guess). But... the cursor blinking does not even work properly!
>>
>> It blinks at normal speed, then (randomly) it blinks slowly, then gets
>> back to normal speed, then inserts longer delay.
>
> Is the effect a beat that it has roughly the frequency of your Notebooks
> screen refresh rate (60Hz)? (in german: Schwebung)
>
>> The effect is so nice that I thought about youtube ;-). Thinkpad
>> x60.. question is, how to debug it?
>
> No idea... check where the register of the HW cursor blink rate
> gets written? But as it seems to be so nice, please submit a patch
> which enables this for all platforms. ;-)
>

For the VESA framebuffer I would assume the cursor blinking is done in
software (if done at all.)

-hpa

2007-10-09 04:33:52

by Antonino A. Daplas

[permalink] [raw]
Subject: Re: sleepy linux 2.6.23-rc9

On Tue, 2007-10-09 at 00:05 +0200, Pavel Machek wrote:
> Hi!
>
> I played with powertop a bit, and found a fairly interesting failure
> mode. If I boot init=/bin/bash vga=1, I get ~2 wakeups a second, nice.
>
> When I boot init=/bin/bash vga=791 (vesa framebuffer), most wakeups
> are caused by cursor painting (I should fix that some day, I
> guess). But... the cursor blinking does not even work properly!
>
> It blinks at normal speed, then (randomly) it blinks slowly, then gets
> back to normal speed, then inserts longer delay.
>
> The effect is so nice that I thought about youtube ;-). Thinkpad
> x60.. question is, how to debug it?

The cursor blinking is done by software via a timer. It's in
drivers/video/console/fbcon.c.

With the latest -rc kernel you can turn off the blinking with

echo 0 > /sys/class/graphics/fbcon/cursor_blink

Tony