Skip to content

Block layer rework for mask allocator

Andi Kleen lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7Convert a few direct bounce_gfp users over to the blk_* wrappersblock/scsi_ioctl.c fs/bio.c+5 -30 replies
2/7Convert open coded reference in libata to q->bounce_gfp to blk_kmallocdrivers/ata/libata-scsi.c+1 -11 reply
3/7Add mempool support for page allocation through the mask allocatorinclude/linux/mempool.h mm/mempool.c+34 -00 replies
4/7Add blk_q_maskinclude/linux/blkdev.h+5 -00 replies
5/7Convert the blk allocator functions over to the mask allocatorblock/blk-settings.c include/linux/blkdev.h+7 -40 replies
6/7Remove bounce_gfpblock/blk-settings.c include/linux/blkdev.h mm/bounce.c+4 -150 replies
7/7Allow swiotlb to move block data bouncing to the block layerarch/x86/kernel/pci-swiotlb_64.c block/blk-settings.c include/linux/blkdev.h+7 -21 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH] [0/7] Block layer rework for mask allocator

This reworks the block layer bouncing to use the mask allocator

Instead of using GFP_DMA use device masks derived from the bounce gfp and pass it to the mask allocator. On architectures not converted to the mask allocator the code will transparently fall back to GFP_DMA.

Requires the earlier mask allocator patchkit I posted.

It is still not 100% finished -- in particular the bouncer still does not know how to use masks > ISA mask, but that is not very difficult to add now. I first wanted to laid the groundwork.

One patch ("Convert the blk allocator functions over to the mask allocator") depends on the "blk allocator" in the earlier SCSI DMA rework patchkit I've been posting. That patch can be dropped without trouble if that one is not applied, but if it is applied it is needed.

-Andi