Messages in this thread |  | | | From | Paul Turner <> | | Date | Fri, 17 Jun 2011 17:28:24 -0700 | | Subject | Re: [patch 00/15] CFS Bandwidth Control V6 |
| |
On Fri, Jun 17, 2011 at 2:13 AM, Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> wrote: > (2011/06/17 15:25), Paul Turner wrote: >> It should be out in a few hours, as I was preparing everything today I >> realized an latent error existed in the quota expiration path; >> specifically that on a wake-up from a sufficiently long sleep we will >> see expired quota and have to wait for the timer to recharge bandwidth >> before we're actually allowed to run. Currently munging the results >> of fixing that and making sure everything else is correct in the wake >> of those changes. > > Thanks! > I'll check it some time early next week.
So it's been a long session of hunting races and implementing the cleanups above.
Unfortunately as my finger hovered over the send button I realized one hurdle remains -- there's a narrow race in the period timer shutdown path:
- Our period timer can decide that we're going idle as a result of no activity - Right after it makes this decision a task sneaks in and runs on another cpu. We can see the timer has chosen to go idle (it's possible to synchronize on that state around the bandwidth lock) but there's no good way to kick the period timer into an about-face since it's already active. - The timing is sufficiently rare and short that we could do something awful like spin until the timer is complete, but I think it's probably better to put a kick in one of our already existing re-occuring paths such as update_shares.
I'll fix this after some sleep, I'm out of steam for now.
> > > Thanks, > H.Seto > > -- 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/
|  |