lkml.org 
[lkml]   [2010]   [Sep]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 4/4] blkio: Recalculate the throttled bio dispatch time upon throttle limit change
On Tue, Sep 28, 2010 at 10:16:41AM -0700, Randy Dunlap wrote:
> On Tue, 28 Sep 2010 13:10:59 -0400 Vivek Goyal wrote:
>
> > o Currently any cgroup throttle limit changes are processed asynchronousy and
> > the change does not take affect till a new bio is dispatched from same group.
> >
> > o It might happen that a user sets a redicuously low limit on throttling.
> > Say 1 bytes per second on reads. In such cases simple operations like mount
> > a disk can wait for a very long time.
> >
> > o Once bio is throttled, there is no easy way to come out of that wait even if
> > user increases the read limit later.
> >
> > o This patch fixes it. Now if a user changes the cgroup limits, we recalculate
> > the bio dispatch time according to new limits.
> >
> > o Can't take queueu lock under blkcg_lock, hence after the change I wake
> > up the dispatch thread again which recalculates the time. So there are some
> > variables being synchronized across two threads without lock and I had to
> > make use of barriers. Hoping I have used barriers correctly. Any review of
> > memory barrier code especially will help.
>
>
> Hi,
> Has this report been addressed/fixed?
>

Hi Randy,

No. I was not aware of it. Thanks for bringing it to my notice. I will look
into it.

Vivek

>
> on i386:
>
> blk-throttle.c:(.text+0x1abb8): undefined reference to `__udivdi3'
> blk-throttle.c:(.text+0x1b1dc): undefined reference to `__udivdi3'
>
>
> on linux-next 2010-0924 and 2010-0927.
>
> ---
> ~Randy
> *** Remember to use Documentation/SubmitChecklist when testing your code ***


\
 
 \ /
  Last update: 2010-09-28 19:39    [W:0.124 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site