|
Patch from Jens Axboe to synchronously flush block requests from our: msg#00473emulators.xen.cvs
ChangeSet 1.1405, 2005/03/31 09:09:50+01:00, kaf24@xxxxxxxxxxxxxxxxxxxx Patch from Jens Axboe to synchronously flush block requests from our backend driver down to the disk(s). Big improvement in blkdev performance. blkback.c | 16 ++++++---------- 1 files changed, 6 insertions(+), 10 deletions(-) diff -Nru a/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c b/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c --- a/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c 2005-03-31 04:05:37 -05:00 +++ b/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c 2005-03-31 04:05:37 -05:00 @@ -512,7 +512,6 @@ for ( i = 0; i < nr_psegs; i++ ) { struct bio *bio; - struct bio_vec *bv; bio = bio_alloc(GFP_ATOMIC, 1); if ( unlikely(bio == NULL) ) @@ -525,17 +524,14 @@ bio->bi_private = pending_req; bio->bi_end_io = end_block_io_op; bio->bi_sector = phys_seg[i].sector_number; - bio->bi_rw = operation; - bv = bio_iovec_idx(bio, 0); - bv->bv_page = virt_to_page(MMAP_VADDR(pending_idx, i)); - bv->bv_len = phys_seg[i].nr_sects << 9; - bv->bv_offset = phys_seg[i].buffer & ~PAGE_MASK; + bio_add_page( + bio, + virt_to_page(MMAP_VADDR(pending_idx, i)), + phys_seg[i].nr_sects << 9, + phys_seg[i].buffer & ~PAGE_MASK); - bio->bi_size = bv->bv_len; - bio->bi_vcnt++; - - submit_bio(operation, bio); + submit_bio(operation | (1 << BIO_RW_SYNC), bio); } #endif |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | memset arg ordering.: 00473, BitKeeper Bot |
|---|---|
| Next by Date: | Fix mbootpack deps.: 00473, BitKeeper Bot |
| Previous by Thread: | memset arg ordering.i: 00473, BitKeeper Bot |
| Next by Thread: | Backport of Jens blkdev performance patch. I accidentally applied it: 00473, BitKeeper Bot |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |