blk-cgroup: clear the throttle queue on fork
We were hitting a panic in production where we put too many times on the request queue. This is because we'd get the throttle_queue of the parent if we fork()'ed while we needed to be throttled, but we didn't have a reference on it. Instead just clear these flags on fork so the child doesn't pay for the sins of its father. Signed-off-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
cc7ecc2585
commit
2c323017e3
@ -843,6 +843,11 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node)
|
||||
tsk->fail_nth = 0;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BLK_CGROUP
|
||||
tsk->throttle_queue = NULL;
|
||||
tsk->use_memdelay = 0;
|
||||
#endif
|
||||
|
||||
return tsk;
|
||||
|
||||
free_stack:
|
||||
|
Loading…
Reference in New Issue
Block a user