Re: block: use kmalloc alignment for bio slab

From: Jens Axboe
Date: Mon Apr 07 2014 - 14:16:58 EST


On 04/07/2014 12:15 PM, Mike Snitzer wrote:
On Wed, Apr 02 2014 at 2:04pm -0400,
Mike Snitzer <snitzer@xxxxxxxxxx> wrote:

From: Mikulas Patocka <mpatocka@xxxxxxxxxx>

Various subsystems can ask the bio subsystem to create a bio slab cache
with some free space before the bio. This free space can be used for any
purpose. Device mapper uses this per-bio-data feature to place some
target-specific and device-mapper specific data before the bio, so that
the target-specific data doesn't have to be allocated separately.

This per-bio-data mechanism is used in place of kmalloc, so we need the
allocated slab to have the same memory alignment as memory allocated
with kmalloc.

Change bio_find_or_create_slab() so that it uses ARCH_KMALLOC_MINALIGN
alignment when creating the slab cache. This is needed so that dm-crypt
can use per-bio-data for encryption - the crypto subsystem assumes this
data will have the same alignment as kmalloc'ed memory.

Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx>
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>

Hey Jens,

Just wanted to give you a heads up that I staged this patch in
linux-dm.git's 'for-next', here:
https://urldefense.proofpoint.com/v1/url?u=https://git.kernel.org/cgit/linux/kernel/git/device-mapper/linux-dm.git/commit/?h%3Dfor-next%26id%3Dcd433c25f43eb054f62b7b48f1d0349f65b1740c&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=3JMVyziIyZtZ5cv9eWNLwQ%3D%3D%0A&m=yu%2BvHiMLQp0QZVW7KCcxC6XDci1OzHP9ymRaDDIROdk%3D%0A&s=7ac8f47451490f80d8bacbef2487bfa43c0d7c9a1c968558010f06f92e20caca

I rebased it to add this yesterday:
Acked-by: Jens Axboe <axboe@xxxxxx> # via private exchange on facebook

I put this in place because there is a chance I'll still be sending the
improved dm-crypt parallelization patches to Linus for 3.15 this week.
So having this go through linux-dm.git saves the awkward coordination
where otherwise DM would be depending on the block tree.

You OK with this?

Yeah, that's fine.

--
Jens Axboe

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