lkml.org 
[lkml]   [2004]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch] voluntary-preempt-2.6.8.1-P1
    Ingo Molnar wrote:

    >* Thomas Charbonnel <thomas@undata.org> wrote:
    >
    >
    >
    >>Tested P1. The biggest offender on my system is still reiserfs'
    >>search_by_key. The trace is made of a very long loop of :
    >> 0.016ms (+0.000ms): reiserfs_in_journal (scan_bitmap_block)
    >> 0.016ms (+0.000ms): find_next_zero_bit (scan_bitmap_block)
    >>(...)
    >> 0.977ms (+0.000ms): reiserfs_in_journal (scan_bitmap_block)
    >> 0.977ms (+0.000ms): find_next_zero_bit (scan_bitmap_block)
    >>with interrupts showing up in the trace from time to time. Do you have
    >>plans to fix this, or should I switch to ext3 ?
    >>
    >>
    >
    >i took a quick look and the reiserfs locking rules in that place do not
    >seem to be easily fixable - this is the tree-lookup code which i suspect
    >cannot be preempted. The reiser journalling code also makes use of the
    >big kernel lock. I'd suggest reporting this to the reiserfs folks
    >
    the fix to reiserfs doing single threaded balancing/searching is called
    reiser4;-) It was not a trivial fix. It is however released.

    > and
    >(if it's not too much effort to migrate) use ext3 meanwhile.
    >
    >
    >
    >>but the weird thing is that the latency sum goes way above those 100us,
    >>the culprit being do_IRQ, regularly chewing up to 1ms !
    >>
    >>
    >
    >
    >
    >> 0.011ms (+0.000ms): enable_8259A_irq (startup_8259A_irq)
    >> 0.954ms (+0.943ms): do_IRQ (common_interrupt)
    >>
    >>
    >
    >weird. This has the looks of a preempt-timing bug (we get a timer IRQ
    >every 1 msec) - but there should be no preempt-timing when we are in the
    >idle task (swapper).
    >
    >
    >
    >>http://www.undata.org/~thomas/swapper.trace
    >>
    >>
    >
    >i'll upload -P2 in a couple of minutes, it will trace the code that
    >do_IRQ() interrupted too - that would be quite useful in your case.
    >
    > Ingo
    >-
    >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/
    >
    >
    >
    >

    -
    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/

    \
     
     \ /
      Last update: 2005-03-22 14:05    [W:4.081 / U:0.296 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site