• majianpeng's avatar
    md:Add blk_plug in sync_thread. · 7c2c57c9
    majianpeng authored
    Add blk_plug in sync_thread will increase the performance of sync.
    Because sync_thread did not blk_plug,so when raid sync, the bio merge
    not well.
    
    Testing environment:
    SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI
    Controller.
    OS:Linux xxx 3.5.0-rc2+ #340 SMP Tue Jun 12 09:00:25 CST 2012
    x86_64 x86_64 x86_64 GNU/Linux.
    RAID5: four ST31000524NS disk.
    
    Without blk_plug:recovery speed about 63M/Sec;
    Add blk_plug:recovery speed about 120M/Sec.
    
    Using blktrace:
    blktrace -d /dev/sdb -w 60  -o -|blkparse -i -
    
    without blk_plug:
    Total (8,16):
     Reads Queued:      309811,     1239MiB	 Writes Queued:           0,        0KiB
     Read Dispatches:   283583,     1189MiB	 Write Dispatches:        0,        0KiB
     Reads Requeued:         0		 Writes Requeued:         0
     Reads Completed:   273351,     1149MiB	 Writes Completed:        0,        0KiB
     Read Merges:        23533,    94132KiB	 Write Merges:            0,        0KiB
     IO unplugs:             0        	 Timer unplugs:           0
    
    add blk_plug:
    Total (8,16):
     Reads Queued:      428697,     1714MiB	 Writes Queued:           0,        0KiB
     Read Dispatches:     3954,     1714MiB	 Write Dispatches:        0,        0KiB
     Reads Requeued:         0		 Writes Requeued:         0
     Reads Completed:     3956,     1715MiB	 Writes Completed:        0,        0KiB
     Read Merges:       424743,     1698MiB	 Write Merges:            0,        0KiB
     IO unplugs:             0        	 Timer unplugs:        3384
    
    The ratio of merge will be markedly increased.
    Signed-off-by: default avatarmajianpeng <majianpeng@gmail.com>
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    7c2c57c9
md.c 222 KB