On Sat, Feb 26, 2011 at 10:55 PM, Niels Mayer <[email protected]> wrote: > For example in meego-netbook-ia32-1.1.90.4.20110222.2.img, in > /lib/modules/2.6.37-7.28/kernel/sound, the following are missing: > snd-hrtimer.ko snd.ko snd-pcm.ko snd-timer.ko snd-hwdep.ko > snd-page-alloc.ko
SInce I posted my message, I noticed that hrtimer seems to be enabled in the kernel, but not for ALSA (due to missing snd-hrtimer) Mar 1 22:12:50 meegolem klogd: [ 0.550432] Marking TSC unstable due to TSC halts in idle states deeper than C2 Mar 1 22:12:50 meegolem klogd: [ 0.550828] Switching to clocksource hpet I also see scary messages related to HPET or hrtimer whenever the kernel&networking borks: ( https://bugs.meego.com/attachment.cgi?id=4719 ) ................ Mar 2 06:59:25 localhost carrick-connection-panel[613]: GLIB WARNING ** default - Error when ending call: Input/output error Mar 2 06:59:30 localhost connmand[516]: Skipping disconnect of 6e706d_managed_psk Mar 2 06:59:31 localhost connmand[516]: connect_callback Mar 2 06:59:32 localhost carrick-connection-panel[613]: GLIB WARNING ** default - Error when ending call: Input/output error Mar 2 06:59:34 localhost connmand[516]: Skipping disconnect of 6e706d_managed_psk Mar 2 06:59:34 localhost connmand[516]: connect_callback Mar 2 06:59:36 localhost klogd: [ 125.015098] CE: hpet increased min_delta_ns to 20113 nsec .................. after a while (esp. if you pound on the wired networkattempting/failing to transfer gigabytes of files -- https://bugs.meego.com/show_bug.cgi?id=13780 ) , you can get it really confused and starts outputting as below -- and you always see hrtimer in the stack trace.... e.g. ktime_get-> clockevents_program_event -> lapic_next_event -> __run_hrtimer Mar 1 10:08:25 meegolem klogd: [ 464.194511] stack backtrace: Mar 1 10:08:25 meegolem klogd: [ 464.194522] Pid: 461, comm: gpk-update-icon Tainted: G W 2.6.37-7.28 #1 Mar 1 10:08:25 meegolem klogd: [ 464.194531] Call Trace: Mar 1 10:08:25 meegolem klogd: [ 464.194547] [<c151029d>] ? printk+0xf/0x11 Mar 1 10:08:25 meegolem klogd: [ 464.194564] [<c1060332>] check_deadlock.clone.13+0x1b7/0x1d5 Mar 1 10:08:25 meegolem klogd: [ 464.194580] [<c10616db>] validate_chain.clone.14+0x4fd/0x509 Mar 1 10:08:25 meegolem klogd: [ 464.194594] [<c1062553>] __lock_acquire+0x668/0x6d0 Mar 1 10:08:25 meegolem klogd: [ 464.194607] [<c106324c>] ? trace_hardirqs_on+0xb/0xd Mar 1 10:08:25 meegolem klogd: [ 464.194622] [<c1187c0f>] ? btrfs_try_spin_lock+0x1b/0x6a Mar 1 10:08:25 meegolem klogd: [ 464.194635] [<c1062b0e>] lock_acquire+0xfb/0x137 Mar 1 10:08:25 meegolem klogd: [ 464.194649] [<c1187c0f>] ? btrfs_try_spin_lock+0x1b/0x6a Mar 1 10:08:25 meegolem klogd: [ 464.194663] [<c151298a>] _raw_spin_lock+0x25/0x34 Mar 1 10:08:25 meegolem klogd: [ 464.194676] [<c1187c0f>] ? btrfs_try_spin_lock+0x1b/0x6a Mar 1 10:08:25 meegolem klogd: [ 464.194690] [<c1187c0f>] btrfs_try_spin_lock+0x1b/0x6a Mar 1 10:08:25 meegolem klogd: [ 464.194704] [<c1149903>] btrfs_search_slot+0x39f/0x497 Mar 1 10:08:25 meegolem klogd: [ 464.194721] [<c1159c4e>] btrfs_lookup_inode+0x29/0x87 Mar 1 10:08:25 meegolem klogd: [ 464.194736] [<c10c46c6>] ? kmem_cache_alloc+0xba/0x1a5 Mar 1 10:08:25 meegolem klogd: [ 464.194749] [<c1144bb5>] ? btrfs_alloc_path+0x12/0x1f Mar 1 10:08:25 meegolem klogd: [ 464.194763] [<c11630ee>] btrfs_read_locked_inode+0x55/0x368 Mar 1 10:08:25 meegolem klogd: [ 464.194776] [<c116034a>] ? btrfs_find_actor+0x0/0x27 Mar 1 10:08:25 meegolem klogd: [ 464.194792] [<c1168b4f>] btrfs_iget+0x5c/0x8a Mar 1 10:08:25 meegolem klogd: [ 464.194806] [<c1168e23>] btrfs_lookup_dentry+0x74/0x1dd Mar 1 10:08:25 meegolem klogd: [ 464.194819] [<c1168f97>] btrfs_lookup+0xb/0x1c Mar 1 10:08:25 meegolem klogd: [ 464.194832] [<c10d3477>] d_alloc_and_lookup+0x39/0x57 Mar 1 10:08:25 meegolem klogd: [ 464.194843] [<c10d3532>] do_lookup+0x9d/0xfa Mar 1 10:08:25 meegolem klogd: [ 464.194856] [<c10d4aaa>] link_path_walk+0x4c3/0x85d Mar 1 10:08:25 meegolem klogd: [ 464.194870] [<c10d4f09>] path_walk+0x3b/0x86 Mar 1 10:08:25 meegolem klogd: [ 464.194883] [<c10d4fd5>] do_path_lookup+0x21/0x42 Mar 1 10:08:25 meegolem klogd: [ 464.194896] [<c10d528d>] user_path_at+0x39/0x63 Mar 1 10:08:25 meegolem klogd: [ 464.194911] [<c1053f0a>] ? __run_hrtimer+0x231/0x2ca Mar 1 10:08:25 meegolem klogd: [ 464.194926] [<c1017ef3>] ? lapic_next_event+0x16/0x1a Mar 1 10:08:25 meegolem klogd: [ 464.194940] [<c105c7fb>] ? clockevents_program_event+0xc3/0xd5 Mar 1 10:08:25 meegolem klogd: [ 464.194953] [<c105952d>] ? ktime_get+0x5f/0xcc Mar 1 10:08:25 meegolem klogd: [ 464.194965] [<c10cee66>] vfs_fstatat+0x2e/0x55 Mar 1 10:08:25 meegolem klogd: [ 464.194978] [<c105d51c>] ? tick_dev_program_event+0x24/0x104 Mar 1 10:08:25 meegolem klogd: [ 464.194991] [<c10ceeb8>] vfs_stat+0x13/0x15 Mar 1 10:08:25 meegolem klogd: [ 464.195003] [<c10cf05a>] sys_stat64+0x12/0x23 Mar 1 10:08:25 meegolem klogd: [ 464.195015] [<c1054c37>] ? hrtimer_interrupt+0x121/0x1d2 Mar 1 10:08:25 meegolem klogd: [ 464.195019] [<c105f4cb>] ? trace_hardirqs_off+0xb/0xd Mar 1 10:08:25 meegolem klogd: [ 464.195019] [<c10029c3>] ? sysenter_exit+0xf/0x18 Mar 1 10:08:25 meegolem klogd: [ 464.195019] [<c1063220>] ? trace_hardirqs_on_caller+0xfb/0x11c Mar 1 10:08:25 meegolem klogd: [ 464.195019] [<c11ce0b0>] ? trace_hardirqs_on_thunk+0xc/0x10 Mar 1 10:08:25 meegolem klogd: [ 464.195019] [<c1002990>] sysenter_do_call+0x12/0x36 ................................ As a user, the lack of snd-hrtimer places the netbook's ALSA timing accuracy back in the last century -- 1000 uS ... versus 0.001us if using hrtimer: meegolem-87-~> qtractor & meegolem-89-~> cat /proc/asound/seq/timer Timer for queue 0 : system timer Period time : 0.000000000 Skew : 65536 / 65536 meegolem-90-~> cat /proc/asound/timers G0: system timer : 1000.000us (10000000 ticks) Client sequencer queue 0 : stopped P0-0-0: PCM playback 0-0-0 : SLAVE P0-0-1: PCM capture 0-0-1 : SLAVE Meanwhile on Fedora, with the following modules loaded: snd_hrtimer 1905 2 snd_timer 19723 3 snd_seq,snd_hrtimer,snd_pcm Modern timing accuracy is available: gnulem-105-~> qtractor& gnulem-106-~> cat /proc/asound/seq/timer Timer for queue 0 : HR timer Period time : 0.001000000 Skew : 65536 / 65536 Timer for queue 1 : HR timer Period time : 0.000000000 Skew : 65536 / 65536 gnulem-107-~> cat /proc/asound/timers G0: system timer : 1000.000us (10000000 ticks) G3: HR timer : 0.001us (1000000000 ticks) Client sequencer queue 0 : running Client sequencer queue 1 : stopped P0-0-0: PCM playback 0-0-0 : SLAVE P0-0-1: PCM capture 0-0-1 : SLAVE P1-0-0: PCM playback 1-0-0 : SLAVE P1-0-1: PCM capture 1-0-1 : SLAVE P1-0-2: PCM playback 1-0-2 : SLAVE P1-0-3: PCM capture 1-0-3 : SLAVE P1-1-0: PCM playback 1-1-0 : SLAVE P2-0-0: PCM playback 2-0-0 : SLAVE P2-0-1: PCM capture 2-0-1 : SLAVE P4-0-0: PCM playback 4-0-0 : SLAVE P4-0-1: PCM capture 4-0-1 : SLAVE -- Niels http://nielsmayer.com _______________________________________________ MeeGo-kernel mailing list [email protected] http://lists.meego.com/listinfo/meego-kernel
