block device driver blk_alloc_queue settings
I wrote a block device driver which concatenates multiple /dev/sd* disks and create a single disk.
I used blk_alloc_queue() to create a queue for my concatenated disk and registered a dispatch function using blk_queue_make_request(). In the dispatch function i forward the io to the sd disk based on the bio->bi_sector.
But, the performance(i/o per second) of my concatenated disk is just above 50% compared to sd disk.
I think i am not setting some parameters for the queue and that might be bringing down the performance of my concatenated disk. Here are the blk_queue_* functions which i have used.
Can someone help what am i missing?