Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 199893
b: refs/heads/master
c: d02a2c0
h: refs/heads/master
i:
  199891: b61d403
v: v3
  • Loading branch information
Shaohua Li authored and Jens Axboe committed May 25, 2010
1 parent 1c35b96 commit b86fe97
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 7 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: b9598db3401282bb27b4aef77e3eee12015f7f29
refs/heads/master: d02a2c077fb81f3224c770be62a318165b23b486
20 changes: 14 additions & 6 deletions trunk/block/cfq-iosched.c
Original file line number Diff line number Diff line change
Expand Up @@ -2560,15 +2560,10 @@ static void cfq_free_io_context(struct io_context *ioc)
__call_for_each_cic(ioc, cic_free_func);
}

static void cfq_exit_cfqq(struct cfq_data *cfqd, struct cfq_queue *cfqq)
static void cfq_put_cooperator(struct cfq_queue *cfqq)
{
struct cfq_queue *__cfqq, *next;

if (unlikely(cfqq == cfqd->active_queue)) {
__cfq_slice_expired(cfqd, cfqq, 0);
cfq_schedule_dispatch(cfqd);
}

/*
* If this queue was scheduled to merge with another queue, be
* sure to drop the reference taken on that queue (and others in
Expand All @@ -2584,6 +2579,16 @@ static void cfq_exit_cfqq(struct cfq_data *cfqd, struct cfq_queue *cfqq)
cfq_put_queue(__cfqq);
__cfqq = next;
}
}

static void cfq_exit_cfqq(struct cfq_data *cfqd, struct cfq_queue *cfqq)
{
if (unlikely(cfqq == cfqd->active_queue)) {
__cfq_slice_expired(cfqd, cfqq, 0);
cfq_schedule_dispatch(cfqd);
}

cfq_put_cooperator(cfqq);

cfq_put_queue(cfqq);
}
Expand Down Expand Up @@ -3536,6 +3541,9 @@ split_cfqq(struct cfq_io_context *cic, struct cfq_queue *cfqq)
}

cic_set_cfqq(cic, NULL, 1);

cfq_put_cooperator(cfqq);

cfq_put_queue(cfqq);
return NULL;
}
Expand Down

0 comments on commit b86fe97

Please sign in to comment.