Messages in this thread | | | Subject | Re: [RFC] [PATCH] A clean approach to writeout throttling | From | (Jonathan Corbet) | Date | Mon, 10 Dec 2007 14:31:52 -0700 |
| |
Hey, Daniel,
I'm just getting around to looking at this. One thing jumped out at me:
> + if (bio->bi_throttle) { > + struct request_queue *q = bio->bi_queue; > + bio->bi_throttle = 0; /* or detect multiple endio and err? */ > + atomic_add(bio->bi_throttle, &q->available); > + wake_up(&q->throttle_wait); > + }
I'm feeling like I must be really dumb, but...how can that possibly work? You're zeroing >bi_throttle before adding it back into q->available, so the latter will never increase...
jon
| |