This is on top of for-4.10/dio, which has Christophs simplified sync
O_DIRECT support and the IO poll bits.

The restriction on 4 inline vecs is removed on the sync support, we
just allocate the bio_vec array if we have to. I realize this negates
parts of the win of the patch for sync, but it's still a lot leaner
than the old code. And it means we use the same path for any type
of sync O_DIRECT, instead of potentially bouncing between the two.

Second patch is adding async support for the code base. Lightly
tested. Performance results, from fio:

Before patch:

Treads x QD     IOPS            usr     sys
=============================================
1x1             113K            19.8%   24.6%
1x4             321K            30.9%   65.9%
4x4             759K            19.9%   42.2%

After patch:

Treads x QD     IOPS            usr     sys
=============================================
1x1             116K            21.8%   20.2%
1x4             365K            25.3%   72.9%
4x4             818K            20.7%   42.3%

-- 
Jens Axboe


--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to