lkml.org 
[lkml]   [2001]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subject[patch] auto-limiting IRQ load take #2, irq-rewrite-2.4.11-F4

    the attached patch contains a cleaned up version of IRQ auto-mitigation.

    - i've removed the max_rate limit and have streamlined the impact of the
    load-estimator on do_IRQ() to this piece of code:

    desc->total_contexts++;
    if (unlikely(in_interrupt()))
    goto mitigate_irqload;

    i dont think we can get much cheaper than this. (We could perhaps avoid
    the total_contexts counter by saving a 'snapshot' of the existing
    kstat.irqs array of counters in every timer tick and comparing the
    snapshot to the current kstat.irqs values. That looked pretty unclean
    though.)

    - the per-cpu irq counting in -D9 was incorrect as it collapsed all irq
    handlers into a single counter.

    - i've removed the net-polling hacks - they are unrelated to this problem.

    the patch is against 2.4.11-pre2. (the eepro100.c fixes from the -ac tree
    are already included in -pre2, i only included them in this patch to make
    patching & testing against 2.4.10 easier.).

    (i'd like to stress the point again that the goal of this approach is
    *not* to be nice. This is an airbag mechanizm, it can and will hurt
    performance. But my box does not lock up anymore.)

    Ingo
    [unhandled content-type:application/x-bzip2]
    \
     
     \ /
      Last update: 2005-03-22 13:03    [W:0.047 / U:1.860 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site