Re: [PATCH 1/3] Separate IRQ-stacks from 4K-stacks option

From: Timothy Miller (miller_at_techsource.com)
Date: 10/20/04

  • Next message: Timothy Miller: "Re: [PATCH 1/3] Separate IRQ-stacks from 4K-stacks option"
    Date:	Wed, 20 Oct 2004 13:46:35 -0400
    To: Lee Revell <rlrevell@joe-job.com>
    
    

    Lee Revell wrote:
    > On Sun, 2004-09-12 at 18:07, Andrea Arcangeli wrote:
    >
    >>On Sun, Sep 12, 2004 at 05:36:41PM -0400, Lee Revell wrote:
    >>
    >>>But in this case the hardirq handler can run for 2ms, which caused a
    >>>scheduler latency problem, because nothing could run but other IRQs.
    >>>The IRQ threading in Ingo's patches solves the problem, and seems to me
    >>>to be the correct solution.
    >>
    >>the irq threading must have a cost, doesn't it? I doubt you want to
    >>offload irqs to a kernel thread on a server, *that* would be slow (irq
    >>nesting is zerocost compared to scheduling a kernel thread).
    >
    >
    > Yes, on a server you would probably disable threading for the disk and
    > network IRQs (the VP patch lets you set this via /proc). This feature
    > effectively gives you IPLs on Linux, albeit only two of them. For
    > example to prevent heavy traffic on one network interface from impacting
    > the latency of the other, you could enable threading for the first and
    > disable it for the second.
    >
    > I am still unsure why the IDE i/o completion is the one place that
    > breaks the assumption that hardirq handlers execute quickly.

    On the one hand, all this preemption introduces overhead which increases
    latency and reduces throughput for any one individual activity.

    On the other hand, the preemption allows the CPU to attend to more
    different resources at the same time, keeping more resources busy.
    Under heavy load, this can increase overall system throughput significantly.

    So, both approaches can increase throughput in different ways. Where is
    the balance between the two which yields the most satisfactory result?

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


  • Next message: Timothy Miller: "Re: [PATCH 1/3] Separate IRQ-stacks from 4K-stacks option"

    Relevant Pages

    • Re: Best way to design multithreading application
      ... threads are working on disparate resources. ... That being said I don't know if you'll see the performance boost you're looking for. ... Since a given link in the chain can't do anything with the data until the previous link is done with it, threading isn't going to improve throughput. ...
      (microsoft.public.dotnet.framework)
    • Re: perl multithreading performance
      ... Also lets not forget that Perl at least supports preemptive threading. ... consumer threads (400 because that is what provided a throughput of 30_000 ... I'd just start 4 processes assigning each a different chunk of the ...
      (comp.lang.perl.misc)
    • Re: [patch] voluntary-preempt-2.6.8-rc2-L2 PS2 keyboard gone south
      ... sure how interrupts are handled by Linux IDE RAID, ... I bet the threading is screwing up the ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: scheduler: IRQs disabled over context switches
      ... >>threading (TLS) thing? ... > could try the patch below. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: 2.6.10-rc1-mm5 [u]
      ... I want to imagine there is some reason why some threading apps will have ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)

    Loading