Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S268977AbUJQAZe (ORCPT ); Sat, 16 Oct 2004 20:25:34 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S268972AbUJQAZe (ORCPT ); Sat, 16 Oct 2004 20:25:34 -0400 Received: from rwcrmhc12.comcast.net ([216.148.227.85]:18126 "EHLO rwcrmhc12.comcast.net") by vger.kernel.org with ESMTP id S268977AbUJQAXS (ORCPT ); Sat, 16 Oct 2004 20:23:18 -0400 Message-ID: <4171BB22.8070105@biomail.ucsd.edu> Date: Sat, 16 Oct 2004 17:21:54 -0700 From: John Gilbert User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040805 Netscape/7.2 X-Accept-Language: en-us, en MIME-Version: 1.0 To: linux-kernel@vger.kernel.org Subject: High latency reports for U3 Content-Type: multipart/mixed; boundary="------------060105080301010105020001" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 19706 Lines: 515 This is a multi-part message in MIME format. --------------060105080301010105020001 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Hi all, I've been running 2.6.9-rc4-mm1-U3 on a few machines for a day now and it's been solid for me. I'm including a list of >500us latency messages, there's usually a handful around 20-50 us, then a big jump to 500+. If the kernel has latencies cleaned up down to <60us max, it will be good enough for pixel perfect NTSC video. If it's clean down to <8us max, it will be capable of perfect HDTV (this is based on landing a page flip within the vertical refresh time after catching a video interrupt). Of course there's still high resolution priority levels, frame based deadline process scheduling, guaranteed rate IO, XFS RT sub-partitions, time based resource reservations, and a user-land API to take advantage of all this. If Ingo, Bill, and the Montavista crew keep up this pace, there will be guaranteed frame perfect video and games^H^H^H^Hsimulations under Linux by Christmas. John Gilbert jgilbert@biomail.ucsd.edu --------------060105080301010105020001 Content-Type: text/plain; name="u3report.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="u3report.txt" High latency results on P3-1.2GHz Linux-2.6.9-rc4-mm1-VP-U3 (wget/2874): new 561 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] finish_task_switch+0x4e/0xa0 [] sub_preempt_count+0x5f/0x90 [] finish_task_switch+0x4e/0xa0 [] finish_task_switch+0x4e/0xa0 [] schedule+0x2d2/0x620 [] __mod_timer+0x170/0x240 [] schedule_timeout+0x5f/0xb0 [] cond_resched+0xc/0x90 [] process_timeout+0x0/0x20 [] cond_resched+0x25/0x90 [] do_select+0x286/0x2c0 [] __pollwait+0x0/0xd0 [] sys_select+0x24d/0x4e0 [] __mcount+0x1d/0x20 [] math_state_restore+0x2e/0x60 [] syscall_call+0x7/0xb preempt count: 1 entry 1: schedule+0x43/0x620 / (schedule_timeout+0x5f/0xb0) (kdeinit/2700): new 558 us maximum-latency critical section. => started at: <__wake_up+0x2e/0x90> => ended at: <__wake_up+0x5c/0x90> [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] __wake_up+0x5c/0x90 [] sub_preempt_count+0x5f/0x90 [] __wake_up+0x5c/0x90 [] __wake_up+0x5c/0x90 [] sock_def_readable+0x96/0xa0 [] unix_stream_sendmsg+0x1c9/0x3f0 [] do_sync_write+0xae/0x100 [] mcount+0x14/0x18 [] sock_aio_write+0xfd/0x120 [] autoremove_wake_function+0x0/0x60 [] __mcount+0x1d/0x20 [] mcount+0x14/0x18 [] do_sync_write+0xae/0x100 [] _mutex_unlock+0xc/0x60 [] __mcount+0x1d/0x20 [] __mcount+0x1d/0x20 [] _mutex_unlock+0xc/0x60 [] autoremove_wake_function+0x0/0x60 [] __mcount+0x1d/0x20 [] vfs_write+0x14/0x150 [] mcount+0x14/0x18 [] vfs_write+0x9c/0x150 [] mcount+0x14/0x18 [] sys_write+0x50/0x80 [] syscall_call+0x7/0xb preempt count: 1 entry 1: __wake_up+0x2e/0x90 / (sock_def_readable+0x96/0xa0) (netscape-bin/2736): new 706 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] irq_exit+0x3c/0x50 [] do_softirq+0x12/0x60 [] sub_preempt_count+0x5f/0x90 [] irq_exit+0x3c/0x50 [] irq_exit+0x3c/0x50 [] do_IRQ+0x78/0xa0 [] do_IRQ+0x0/0xa0 [] common_interrupt+0x18/0x20 preempt count: 1 entry 1: task_rq_lock+0x1e/0x30 / (try_to_wake_up+0x2d/0xe0) (IRQ 10/795): new 726 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] finish_task_switch+0x4e/0xa0 [] sub_preempt_count+0x5f/0x90 [] finish_task_switch+0x4e/0xa0 [] finish_task_switch+0x4e/0xa0 [] schedule+0x2d2/0x620 [] __mcount+0x1d/0x20 [] __do_softirq+0x12/0xa0 [] do_irqd+0x4f/0x80 [] do_irqd+0x54/0x80 [] kthread+0xa6/0xf0 [] do_irqd+0x0/0x80 [] kthread+0x0/0xf0 [] kernel_thread_helper+0x5/0x10 preempt count: 1 entry 1: task_rq_lock+0x1e/0x30 / (try_to_wake_up+0x2d/0xe0) (ksoftirqd/0/2): new 587 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] finish_task_switch+0x4e/0xa0 [] sub_preempt_count+0x5f/0x90 [] finish_task_switch+0x4e/0xa0 [] finish_task_switch+0x4e/0xa0 [] schedule+0x2d2/0x620 [] ksoftirqd+0xe8/0xf0 [] kthread+0xa6/0xf0 [] ksoftirqd+0x0/0xf0 [] kthread+0x0/0xf0 [] kernel_thread_helper+0x5/0x10 preempt count: 1 entry 1: __do_IRQ+0x7c/0x1a0 / (do_IRQ+0x71/0xa0) (X/2629): new 575 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] finish_task_switch+0x4e/0xa0 [] sub_preempt_count+0x5f/0x90 [] finish_task_switch+0x4e/0xa0 [] finish_task_switch+0x4e/0xa0 [] schedule+0x2d2/0x620 [] irq_exit+0x3c/0x50 [] work_resched+0x5/0x16 preempt count: 1 entry 1: schedule+0x43/0x620 / (work_resched+0x5/0x16) (IRQ 5/1689): new 558 us maximum-latency critical section. => started at: <__wake_up+0x2e/0x90> => ended at: <__wake_up+0x5c/0x90> [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] __wake_up+0x5c/0x90 [] sub_preempt_count+0x5f/0x90 [] __wake_up+0x5c/0x90 [] __wake_up+0x5c/0x90 [] snd_pcm_period_elapsed+0x38f/0x460 [snd_pcm] [] __mcount+0x1d/0x20 [] _mutex_unlock+0xc/0x60 [] snd_m3_update_ptr+0x93/0xb0 [snd_maestro3] [] snd_m3_update_ptr+0x9b/0xb0 [snd_maestro3] [] snd_m3_interrupt+0xb3/0xd0 [snd_maestro3] [] handle_IRQ_event+0x4f/0x90 [] do_hardirq+0x89/0x130 [] do_irqd+0x45/0x80 [] kthread+0xa6/0xf0 [] do_irqd+0x0/0x80 [] kthread+0x0/0xf0 [] kernel_thread_helper+0x5/0x10 preempt count: 1 entry 1: __wake_up+0x2e/0x90 / (snd_pcm_period_elapsed+0x38f/0x460 [snd_pcm]) (ksoftirqd/0/2): new 598 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] finish_task_switch+0x4e/0xa0 [] sub_preempt_count+0x5f/0x90 [] finish_task_switch+0x4e/0xa0 [] finish_task_switch+0x4e/0xa0 [] schedule+0x2d2/0x620 [] ksoftirqd+0xe8/0xf0 [] kthread+0xa6/0xf0 [] ksoftirqd+0x0/0xf0 [] kthread+0x0/0xf0 [] kernel_thread_helper+0x5/0x10 preempt count: 1 entry 1: schedule+0x43/0x620 / (ksoftirqd+0xe8/0xf0) (ksoftirqd/0/2): new 576 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] finish_task_switch+0x4e/0xa0 [] sub_preempt_count+0x5f/0x90 [] finish_task_switch+0x4e/0xa0 [] finish_task_switch+0x4e/0xa0 [] schedule+0x2d2/0x620 [] ksoftirqd+0xe8/0xf0 [] kthread+0xa6/0xf0 [] ksoftirqd+0x0/0xf0 [] kthread+0x0/0xf0 [] kernel_thread_helper+0x5/0x10 preempt count: 1 entry 1: schedule+0x43/0x620 / (ksoftirqd+0xe8/0xf0) (netscape-bin/1592): new 555 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] buffered_rmqueue+0x168/0x210 [] sub_preempt_count+0x5f/0x90 [] buffered_rmqueue+0x168/0x210 [] buffered_rmqueue+0x168/0x210 [] mcount+0x14/0x18 [] __alloc_pages+0x137/0x400 [] mcount+0x14/0x18 [] __get_free_pages+0x20/0x50 [] __pollwait+0x8c/0xd0 [] unix_poll+0xc0/0xd0 [] sock_poll+0x2c/0x40 [] do_pollfd+0x90/0xa0 [] do_poll+0x5d/0xc0 [] sys_poll+0x173/0x230 [] fput+0x8/0x20 [] __pollwait+0x0/0xd0 [] syscall_call+0x7/0xb preempt count: 1 entry 1: buffered_rmqueue+0xff/0x210 / (__alloc_pages+0x137/0x400) (X/2629): new 704 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] add_wait_queue+0x48/0x80 [] sub_preempt_count+0x5f/0x90 [] add_wait_queue+0x48/0x80 [] add_wait_queue+0x48/0x80 [] unix_poll+0xc0/0xd0 [] sock_poll+0x2c/0x40 [] do_select+0x19d/0x2c0 [] __pollwait+0x0/0xd0 [] sys_select+0x24d/0x4e0 [] copy_to_user+0x4b/0x60 [] syscall_call+0x7/0xb preempt count: 1 entry 1: add_wait_queue+0x2a/0x80 / (unix_poll+0xc0/0xd0) (xargs/3474): new 727 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] irq_exit+0x3c/0x50 [] do_softirq+0x12/0x60 [] sub_preempt_count+0x5f/0x90 [] irq_exit+0x3c/0x50 [] irq_exit+0x3c/0x50 [] do_IRQ+0x78/0xa0 [] do_IRQ+0x0/0xa0 [] common_interrupt+0x18/0x20 [] _mutex_lock+0x11/0x40 [] __d_lookup+0xb4/0x140 [] kthread+0x1b/0xf0 [] __mcount+0x11/0x20 [] mcount+0x14/0x18 [] _mutex_lock+0x11/0x40 [] __d_lookup+0xb4/0x140 [] __mcount+0x1d/0x20 [] do_lookup+0x14/0xa0 [] do_lookup+0x2b/0xa0 [] link_path_walk+0x787/0xe00 [] cond_resched+0xc/0x90 [] path_lookup+0xa6/0x1d0 [] do_execve+0x19/0x210 [] open_exec+0x2d/0x100 [] __mcount+0x1d/0x20 [] cond_resched+0xc/0x90 [] __mcount+0x1d/0x20 [] do_execve+0xe/0x210 [] sys_execve+0x47/0xd0 [] mcount+0x14/0x18 [] do_execve+0x19/0x210 [] getname+0x68/0x110 [] sys_execve+0x47/0xd0 [] syscall_call+0x7/0xb preempt count: 1 entry 1: task_rq_lock+0x1e/0x30 / (try_to_wake_up+0x2d/0xe0) (swapper/0): new 571 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] preempt_schedule+0x5c/0x80 [] sub_preempt_count+0x5f/0x90 [] preempt_schedule+0x5c/0x80 [] preempt_schedule+0x5c/0x80 [] cpu_idle+0x6d/0x70 [] start_kernel+0x15c/0x180 [] unknown_bootoption+0x0/0x190 preempt count: 0 (md5sum/24488): new 577 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] buffered_rmqueue+0x168/0x210 [] sub_preempt_count+0x5f/0x90 [] buffered_rmqueue+0x168/0x210 [] buffered_rmqueue+0x168/0x210 [] __alloc_pages+0x1e8/0x400 [] do_page_cache_readahead+0x162/0x1e0 [] page_cache_readahead+0x1fe/0x230 [] do_generic_mapping_read+0x120/0x520 [] mcount+0x14/0x18 [] __generic_file_aio_read+0x11d/0x230 [] file_read_actor+0x0/0xf0 [] generic_file_read+0xac/0xd0 [] do_mmap_pgoff+0x49e/0x750 [] sub_preempt_count+0x5f/0x90 [] sub_preempt_count+0x5f/0x90 [] finish_task_switch+0x4e/0xa0 [] autoremove_wake_function+0x0/0x60 [] vfs_read+0x14/0x150 [] sys_read+0x50/0x80 [] mcount+0x14/0x18 [] vfs_read+0x108/0x150 [] mcount+0x14/0x18 [] sys_read+0x50/0x80 [] syscall_call+0x7/0xb preempt count: 1 entry 1: task_rq_lock+0x1e/0x30 / (try_to_wake_up+0x2d/0xe0) (bunzip2/16626): new 710 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] buffered_rmqueue+0x168/0x210 [] __alloc_pages+0x137/0x400 [] sub_preempt_count+0x5f/0x90 [] buffered_rmqueue+0x168/0x210 [] buffered_rmqueue+0x168/0x210 [] mcount+0x14/0x18 [] __alloc_pages+0x137/0x400 [] do_page_cache_readahead+0x162/0x1e0 [] page_cache_readahead+0x1fe/0x230 [] do_generic_mapping_read+0x120/0x520 [] mcount+0x14/0x18 [] __generic_file_aio_read+0x11d/0x230 [] file_read_actor+0x0/0xf0 [] generic_file_read+0xac/0xd0 [] sub_preempt_count+0x5f/0x90 [] sub_preempt_count+0x5f/0x90 [] finish_task_switch+0x4e/0xa0 [] autoremove_wake_function+0x0/0x60 [] vfs_read+0x14/0x150 [] sys_read+0x50/0x80 [] mcount+0x14/0x18 [] vfs_read+0x108/0x150 [] mcount+0x14/0x18 [] sys_read+0x50/0x80 [] syscall_call+0x7/0xb preempt count: 1 entry 1: task_rq_lock+0x1e/0x30 / (try_to_wake_up+0x2d/0xe0) (X/2629): new 572 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] irq_exit+0x3c/0x50 [] do_softirq+0x12/0x60 [] sub_preempt_count+0x5f/0x90 [] irq_exit+0x3c/0x50 [] irq_exit+0x3c/0x50 [] do_IRQ+0x78/0xa0 [] do_IRQ+0x0/0xa0 [] common_interrupt+0x18/0x20 preempt count: 1 entry 1: task_rq_lock+0x1e/0x30 / (try_to_wake_up+0x2d/0xe0) (X/2629): new 707 us maximum-latency critical section. => started at: <__mod_timer+0x45/0x240> => ended at: <__mod_timer+0x170/0x240> [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] __mod_timer+0x170/0x240 [] internal_add_timer+0x12/0xf0 [] sub_preempt_count+0x5f/0x90 [] __mod_timer+0x170/0x240 [] __mod_timer+0x170/0x240 [] schedule_timeout+0x5a/0xb0 [] cond_resched+0xc/0x90 [] process_timeout+0x0/0x20 [] cond_resched+0x25/0x90 [] do_select+0x286/0x2c0 [] __pollwait+0x0/0xd0 [] sys_select+0x24d/0x4e0 [] copy_to_user+0x4b/0x60 [] syscall_call+0x7/0xb preempt count: 1 entry 1: __mod_timer+0x45/0x240 / (schedule_timeout+0x5a/0xb0) (btdownloadcurse/27525): new 560 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] remove_wait_queue+0x51/0x90 [] sub_preempt_count+0x5f/0x90 [] remove_wait_queue+0x51/0x90 [] remove_wait_queue+0x51/0x90 [] poll_freewait+0x3e/0x60 [] sys_poll+0x210/0x230 [] __pollwait+0x0/0xd0 [] syscall_call+0x7/0xb preempt count: 1 entry 1: remove_wait_queue+0x1e/0x90 / (poll_freewait+0x3e/0x60) (IRQ 10/795): new 571 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] irq_exit+0x3c/0x50 [] do_softirq+0x12/0x60 [] sub_preempt_count+0x5f/0x90 [] irq_exit+0x3c/0x50 [] irq_exit+0x3c/0x50 [] do_IRQ+0x78/0xa0 [] do_IRQ+0x0/0xa0 [] common_interrupt+0x18/0x20 [] hcd_submit_urb+0x0/0x1b0 [] ide_cdrom_setup+0x15b/0x490 [] __mcount+0x0/0x20 [] mcount+0x14/0x18 [] hcd_submit_urb+0x0/0x1b0 [] usb_get_dev+0xc/0x30 [] hcd_submit_urb+0xa7/0x1b0 [] snd_complete_sync_urb+0xae/0x110 [snd_usb_audio] [] usb_hcd_giveback_urb+0x29/0x60 [] uhci_finish_urb+0x4d/0x70 [] uhci_finish_completion+0x58/0x70 [] uhci_irq+0x106/0x200 [] usb_hcd_irq+0x43/0x80 [] handle_IRQ_event+0x4f/0x90 [] do_hardirq+0x89/0x130 [] do_irqd+0x45/0x80 [] kthread+0xa6/0xf0 [] do_irqd+0x0/0x80 [] kthread+0x0/0xf0 [] kernel_thread_helper+0x5/0x10 preempt count: 1 entry 1: task_rq_lock+0x1e/0x30 / (try_to_wake_up+0x2d/0xe0) (swapper/0): new 557 us maximum-latency critical section. => started at: => ended at: [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] preempt_schedule+0x5c/0x80 [] sub_preempt_count+0x5f/0x90 [] preempt_schedule+0x5c/0x80 [] preempt_schedule+0x5c/0x80 [] cpu_idle+0x6d/0x70 [] start_kernel+0x15c/0x180 [] unknown_bootoption+0x0/0x190 preempt count: 0 (vi/27823): new 713 us maximum-latency critical section. => started at: <__wake_up+0x2e/0x90> => ended at: <__wake_up+0x5c/0x90> [] sub_preempt_count+0x5f/0x90 [] check_preempt_timing+0x160/0x200 [] __wake_up+0x5c/0x90 [] mcount+0x14/0x18 [] sub_preempt_count+0x5f/0x90 [] __wake_up+0x5c/0x90 [] __wake_up+0x5c/0x90 [] tty_ldisc_deref+0x8b/0xc0 [] tty_poll+0x8d/0xe0 [] do_select+0x19d/0x2c0 [] __pollwait+0x0/0xd0 [] sys_select+0x24d/0x4e0 [] schedule+0x2d2/0x620 [] syscall_call+0x7/0xb preempt count: 1 entry 1: __wake_up+0x2e/0x90 / (tty_ldisc_deref+0x8b/0xc0) --------------060105080301010105020001-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/