Skip to content

Commit

Permalink
Revert "xen/blkback: Move the plugging/unplugging to a higher level."
Browse files Browse the repository at this point in the history
This reverts commit 97961ef b/c
we lose about 15% performance if we do the unplugging and the
end of the reading the ring buffer.
  • Loading branch information
Konrad Rzeszutek Wilk committed Apr 27, 2011
1 parent 013c3ca commit a19be5f
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions drivers/block/xen-blkback/blkback.c
Original file line number Diff line number Diff line change
Expand Up @@ -276,8 +276,6 @@ int xen_blkif_schedule(void *arg)
printk(KERN_DEBUG "%s: started\n", current->comm);

while (!kthread_should_stop()) {
struct blk_plug plug;

if (try_to_freeze())
continue;
if (unlikely(vbd->size != vbd_sz(vbd)))
Expand All @@ -294,13 +292,9 @@ int xen_blkif_schedule(void *arg)
blkif->waiting_reqs = 0;
smp_mb(); /* clear flag *before* checking for work */

blk_start_plug(&plug);

if (do_block_io_op(blkif))
blkif->waiting_reqs = 1;

blk_finish_plug(&plug);

if (log_stats && time_after(jiffies, blkif->st_print))
print_stats(blkif);
}
Expand Down Expand Up @@ -553,6 +547,7 @@ static void dispatch_rw_block_io(struct blkif_st *blkif,
struct bio *biolist[BLKIF_MAX_SEGMENTS_PER_REQUEST];
int i, nbio = 0;
int operation;
struct blk_plug plug;

switch (req->operation) {
case BLKIF_OP_READ:
Expand Down Expand Up @@ -665,9 +660,15 @@ static void dispatch_rw_block_io(struct blkif_st *blkif,
*/
atomic_set(&pending_req->pendcnt, nbio);

/* Get a reference count for the disk queue and start sending I/O */
blk_start_plug(&plug);

for (i = 0; i < nbio; i++)
submit_bio(operation, biolist[i]);

blk_finish_plug(&plug);
/* Let the I/Os go.. */

if (operation == READ)
blkif->st_rd_sect += preq.nr_sects;
else if (operation == WRITE || operation == WRITE_BARRIER)
Expand Down

0 comments on commit a19be5f

Please sign in to comment.