Messages in this thread Patch in this message | | | Date | Thu, 3 Mar 2011 23:00:48 -0500 | From | Vivek Goyal <> | Subject | Re: [PATCH 05/10] block: remove per-queue plugging |
| |
On Sat, Jan 22, 2011 at 01:17:24AM +0000, Jens Axboe wrote:
[..] > mm/page-writeback.c | 2 +- > mm/readahead.c | 12 --- > mm/shmem.c | 1 - > mm/swap_state.c | 5 +- > mm/swapfile.c | 37 -------- > mm/vmscan.c | 2 +- > 118 files changed, 153 insertions(+), 1248 deletions(-)
block/blk-throttle.c also uses blk_unplug(). We need to get rid of that also.
[..] > @@ -632,8 +630,6 @@ void elv_insert(struct request_queue *q, struct request *rq, int where) > * don't force unplug of the queue for that case. > * Clear unplug_it and fall through. > */
Above comments now seem to be redundant.
> - unplug_it = 0; > - > case ELEVATOR_INSERT_FRONT: > rq->cmd_flags |= REQ_SOFTBARRIER; > list_add(&rq->queuelist, &q->queue_head);
[..] > /* > diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c > index b9e1e15..5ef136c 100644 > --- a/drivers/md/dm-raid.c > +++ b/drivers/md/dm-raid.c > @@ -394,7 +394,7 @@ static void raid_unplug(struct dm_target_callbacks *cb) > { > struct raid_set *rs = container_of(cb, struct raid_set, callbacks); > > - md_raid5_unplug_device(rs->md.private); > + md_raid5_kick_device(rs->md.private);
With all the unplug logic gone, I think we can get rid of blk_sync_queue() call from md. It looks like md was syncing the queue just to make sure that unplug_fn is not called again. Now all that logic is gone so it should be redundant.
Also we can probably get rid of some queue_lock taking instances in md code. NeilBrown recently put following patch in, which is taking queue lock only around plug functions. Now queue plugging gone, I guess it should not be required.
commit da9cf5050a2e3dbc3cf26a8d908482eb4485ed49 Author: NeilBrown <neilb@suse.de> Date: Mon Feb 21 18:25:57 2011 +1100
md: avoid spinlock problem in blk_throtl_exit
Thanks Vivek
| |