lkml.org 
[lkml]   [2008]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[regression bisected] HR-timers bug >=2.6.25
Hi,

I've reported this problem previously:
http://lkml.org/lkml/2008/3/12/290
http://bugzilla.kernel.org/show_bug.cgi?id=10235
https://bugs.freedesktop.org/show_bug.cgi?id=15602

This bug is still in mainline as of 2.6.26-rc1. (affected versions
2.6.25-rc0 - 2.6.26-rc1)

Ever since 2.6.25-rc3 (the first rc I tested), my screen would blank out
when mode switching from the Ubuntu uplash to the gdm login. Normally
after the boot splash, the screen goes black and "refreshes" to select
the correct resolution. But when using a kernel newer than 2.6.24 the
screen doesn't come back on - it stays blank. This doesn't happen every
time, but a good majority of the time. The workaround is to disable the
splash, and that fixes the problem almost completely.

I did a git bisect. Rebooting 3 times if the problem didn't occur just
to make sure.
The git bisect reports that it's timing related - which is what Jesse
Barnes said it could be.

> commit 8f4d37ec073c17e2d4aa8851df5837d798606d6f
> Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Date: Fri Jan 25 21:08:29 2008 +0100
>
> sched: high-res preemption tick
>
> Use HR-timers (when available) to deliver an accurate preemption tick.
>
> The regular scheduler tick that runs at 1/HZ can be too coarse when
> nice level
> are used. The fairness system will still keep the cpu utilisation
> 'fair' by
> then delaying the task that got an excessive amount of CPU time but try to
> minimize this by delivering preemption points spot-on.
>
> The average frequency of this extra interrupt is sched_latency /
> nr_latency.
> Which need not be higher than 1/HZ, its just that the distribution
> within the
> sched_latency period is important.
>
> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
>
> :040000 040000 ab225228500f7a19d5ad20ca12ca3fc8ff5f5ad1
> f1742e1d225a72aecea9d6961ed989b5943d31d8 M arch
> :040000 040000 25d85e4ef7a71b0cc76801a2526ebeb4dce180fe
> ae61510186b4fad708ef0211ac169decba16d4e5 M include
> :040000 040000 9247cec7dd506c648ac027c17e5a07145aa41b26
> 950832cc1dc4d30923f593ecec883a06b45d62e9 M kernel

> # bad: [29e8c3c304b62f31b799565c9ee85d42bd163f80] Linux 2.6.25-rc4
> # good: [49914084e797530d9baaf51df9eda77babc98fa8] Linux 2.6.24
> git-bisect start 'v2.6.25-rc4' 'v2.6.24'
> # bad: [bd45ac0c5daae35e7c71138172e63df5cf644cf6] Merge branch 'linux-2.6'
> git-bisect bad bd45ac0c5daae35e7c71138172e63df5cf644cf6
> # good: [a6f71745969d495d697d1ccd96385d2f7a963375] [POWERPC] 85xx:
> Only invalidate TLB0 and TLB1
> git-bisect good a6f71745969d495d697d1ccd96385d2f7a963375
> # bad: [fb5b6095f320bd5a615049aa5fe8827ae9d1bf80] [NETFILTER]:
> arp_tables: move entry and target checks to seperate functions
> git-bisect bad fb5b6095f320bd5a615049aa5fe8827ae9d1bf80
> # bad: [50d9a126240f9961cfdd063336bbeb91f77a7dce] Merge
> git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
> git-bisect bad 50d9a126240f9961cfdd063336bbeb91f77a7dce
> # good: [102df6a785bd5ff22b0ca745f3107ab9780fc30b] V4L/DVB (6685):
> ir-keymaps.c: extra keys on winfast Y04G0033 remote
> git-bisect good 102df6a785bd5ff22b0ca745f3107ab9780fc30b
> # good: [a999337b49fcdd2c4a475e97e4b8337ebdfa4abf] V4L/DVB (7078):
> radio: fix sf16fmi section mismatch
> git-bisect good a999337b49fcdd2c4a475e97e4b8337ebdfa4abf
> # bad: [b31fde6db2b76a9f7f59bf016652b46cff43f8da] Merge
> git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
> git-bisect bad b31fde6db2b76a9f7f59bf016652b46cff43f8da
> # bad: [6478d8800b75253b2a934ddcb734e13ade023ad0] sched: remove the
> !PREEMPT_BKL code
> git-bisect bad 6478d8800b75253b2a934ddcb734e13ade023ad0
> # good: [80bf3171dcdf0f5d236e2e48afe2a95c7ce23879] sched: clean up
> pull_rt_task()
> git-bisect good 80bf3171dcdf0f5d236e2e48afe2a95c7ce23879
> # good: [eaf649e9fe6685f4c5a392cd0e16df5fd6660b7c] Preempt-RCU: CPU
> Hotplug handling
> git-bisect good eaf649e9fe6685f4c5a392cd0e16df5fd6660b7c
> # bad: [6f505b16425a51270058e4a93441fe64de3dd435] sched: rt group
> scheduling
> git-bisect bad 6f505b16425a51270058e4a93441fe64de3dd435
> # good: [78f2c7db6068fd6ef75b8c120f04a388848eacb5] sched:
> SCHED_FIFO/SCHED_RR watchdog timer
> git-bisect good 78f2c7db6068fd6ef75b8c120f04a388848eacb5
> # good: [02b67cc3ba36bdba351d6c3a00593f4ec550d9d3] sched: do not do
> cond_resched() when CONFIG_PREEMPT
> git-bisect good 02b67cc3ba36bdba351d6c3a00593f4ec550d9d3
> # bad: [fa85ae2418e6843953107cd6a06f645752829bc0] sched: rt time limit
> git-bisect bad fa85ae2418e6843953107cd6a06f645752829bc0
> # bad: [8f4d37ec073c17e2d4aa8851df5837d798606d6f] sched: high-res
> preemption tick
> git-bisect bad 8f4d37ec073c17e2d4aa8851df5837d798606d6f




\
 
 \ /
  Last update: 2008-05-15 21:35    [W:0.124 / U:0.284 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site