Re: [RFC/PATCH 0/2] ROW scheduling Algorithm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

I tested with this patch on my board.
But i didn't get any performance benefit.
Which benchmark did you use?
And sometime this scheduler didn't work well read/write operation.
(i didn't know exactly what problem.)

The below is my environment:
Kernel Version: linux-3.4
Card: eMMC4.5 (50MHz DDR mode, 8-bit buswidth)
Host controller : dw-mmc (DesignWare MMC controller)
Benchmark : IOzone

*CFQ Scheduler
Read : 35MB
Write : 17MB

*ROW Scheduler
Read : 28MB
Write : 17MB

How do you think about this result?

Best Regards,
Jaehoon Chung

On 08/05/2012 08:30 PM, Tatyana Brokhman wrote:
> The ROW scheduling algorithm will be used in mobile devices as default
> block layer IO scheduling algorithm. ROW stands for "READ Over WRITE"
> which is the main requests dispatch policy of this algorithm.
> 
> The ROW IO scheduler was developed with the mobile devices needs in
> mind. In mobile devices we favor user experience upon everything else,
> thus we want to give READ IO requests as much priority as possible.
> In mobile devices we won’t have AS much parallel threads as on desktops.
> Usually it’s a single thread or at most 2 simultaneous working threads
> for read & write. Favoring READ requests over WRITEs decreases the READ
> latency greatly.
> 
> The main idea of the ROW scheduling policy is:
> If there are READ requests in pipe - dispatch them but don't starve
> the WRITE requests too much.
> 
> Bellow you’ll find a small comparison of ROW to existing schedulers.
> The test that was run for these measurements is parallel lmdd read and write.
> The tests were performed on:
> kernel version: 3.4
> Underline device driver: mmc
> Host controller: msm-sdcc
> Card:standard emmc NAND flash
> 
> --------------------------------------------------------------------------
>    Algorithm   |   Throughput [mb/sec]   |   Worst case Latency [msec]   |
>                |     READ    |   WRITE   |     READ      |     WRITE     |
> --------------------------------------------------------------------------
> Noop           |    12.12    |   25.18   |     4407      |      4804     |
> Deadline       |    12.02    |   24.6    |     705       |      5130     | 
> CFQ	       |    20.81    |   15.23   |     230       |      9370     |
> ROW	       |    27.75    |   15.34   |      85       |     12025     |
> -------------------------------------------------------------------------|
> 
> 
> Tatyana Brokhman (2):
>   block: Expose kblock_schedule_delayed_work()
>   block: Adding ROW scheduling algorithm
> 
>  Documentation/block/row-iosched.txt |  117 ++++++
>  block/Kconfig.iosched               |   22 ++
>  block/Makefile                      |    1 +
>  block/row-iosched.c                 |  675 +++++++++++++++++++++++++++++++++++
>  include/linux/blkdev.h              |    2 +
>  5 files changed, 817 insertions(+), 0 deletions(-)
>  create mode 100644 Documentation/block/row-iosched.txt
>  create mode 100644 block/row-iosched.c
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux