[lkml]   [2009]   [Nov]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [RFC] Block IO Controller V3
    Vivek Goyal wrote:
    > On Mon, Nov 30, 2009 at 03:29:52PM +0800, Gui Jianfeng wrote:
    >> Vivek Goyal wrote:
    >>> Hi Jens,
    >>> This is V3 of the Block IO controller patches on top of "for-2.6.33" branch
    >>> of block tree.
    >> ...
    >> Hi Vivek,
    >> If an idle task is running group A and a normal task is running in group B, these
    >> two group have the same weight, I think IO Controller should isolate group A and
    >> group B, these two group should get 50% of the IO bw for each, right? But for this case,
    >> we don't see any isolation, instead, group B monopolizes almost all IO BW. I guess
    >> the major reason is idle cfqq is only allowed to dispatch one request and get expired.
    >> I think in order to get better isolation, we shouldn't expire the idle cfqq immediately
    >> if this idle queue is the only one this its group. The following patch enable idling
    >> for idle queue and prevent expiring it immediately after dispatch one request if it's
    >> the only one in group. This patch is working for V3, hasn't tested on V4 yet.
    > Hi Gui,
    > Thanks for the patch. I have intentionally kept idle queue make dispatch
    > one request at a time system wide irrespective of group.
    > What's the use case scenario of enforcing idle dispatch more based on
    > group weight. If somebody has marked a queue idle, he is not expecting
    > much of that queue anyway.

    IMHO, If somebody decide to put an idle task into a group, i think he
    should know what will happen(isolation thing).

    > Now one can argue that for better isolation, don't make idle class system
    > wide and an idle task should get more disk time if there are no other
    > queues with-in group.
    > So for the time being I will leave as it is. We can fix this once somebody
    > needs stronger isolation even for idle tasks.

    So, maybe we can rely on group_isolation tunable, when group_isolation == 1,
    we provide isolation for idle queues.

     \ /
      Last update: 2009-12-01 04:07    [W:0.021 / U:10.872 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site