Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 251154
b: refs/heads/master
c: 29b1258
h: refs/heads/master
v: v3
  • Loading branch information
Vivek Goyal authored and Jens Axboe committed May 20, 2011
1 parent 925c574 commit 69444af
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 16 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f469a7b4d5b1d1d053200a9015fd25d59c057f49
refs/heads/master: 29b125892f3317ada86b662e0b6ebc0f79be9037
27 changes: 12 additions & 15 deletions trunk/block/blk-throttle.c
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ struct throtl_data
/* service tree for active throtl groups */
struct throtl_rb_root tg_service_tree;

struct throtl_grp root_tg;
struct throtl_grp *root_tg;
struct request_queue *queue;

/* Total Number of queued bios on READ and WRITE lists */
Expand Down Expand Up @@ -233,7 +233,7 @@ throtl_grp *throtl_find_tg(struct throtl_data *td, struct blkio_cgroup *blkcg)
* Avoid lookup in this case
*/
if (blkcg == &blkio_root_cgroup)
tg = &td->root_tg;
tg = td->root_tg;
else
tg = tg_of_blkg(blkiocg_lookup_group(blkcg, key));

Expand Down Expand Up @@ -313,7 +313,7 @@ static struct throtl_grp * throtl_get_tg(struct throtl_data *td)

/* Group allocation failed. Account the IO to root group */
if (!tg) {
tg = &td->root_tg;
tg = td->root_tg;
return tg;
}

Expand Down Expand Up @@ -1153,18 +1153,16 @@ int blk_throtl_init(struct request_queue *q)
td->limits_changed = false;
INIT_DELAYED_WORK(&td->throtl_work, blk_throtl_work);

/* Init root group */
tg = &td->root_tg;
throtl_init_group(tg);
/* alloc and Init root group. */
td->queue = q;
tg = throtl_alloc_tg(td);

/*
* Set root group reference to 2. One reference will be dropped when
* all groups on tg_list are being deleted during queue exit. Other
* reference will remain there as we don't want to delete this group
* as it is statically allocated and gets destroyed when throtl_data
* goes away.
*/
atomic_inc(&tg->ref);
if (!tg) {
kfree(td);
return -ENOMEM;
}

td->root_tg = tg;

rcu_read_lock();
blkiocg_add_blkio_group(&blkio_root_cgroup, &tg->blkg, (void *)td,
Expand All @@ -1173,7 +1171,6 @@ int blk_throtl_init(struct request_queue *q)
throtl_add_group_to_td_list(td, tg);

/* Attach throtl data to request queue */
td->queue = q;
q->td = td;
return 0;
}
Expand Down

0 comments on commit 69444af

Please sign in to comment.