linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
	"Juergen E. Fischer" <fischer@norbit.de>,
	Alan Stern <stern@rowland.harvard.edu>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-block@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-usb@vger.kernel.org, usb-storage@lists.one-eyed-alien.net,
	linux-mm@kvack.org
Subject: remove block layer bounce buffering
Date: Fri,  2 May 2025 07:49:17 +0100	[thread overview]
Message-ID: <20250502064930.2981820-1-hch@lst.de> (raw)

Hi all,

the block layer bounce buffering from the early days of highmem keeps
being a wart in the block layer despite usage by only four drivers,
all through the SCSI layer.  One of them is an old PIO-only ISA
card, two are parallel port adapters, and the fourth is the usb-storage
driver.

This series makes the first three depend on !HIGHMEM and for the fourth
rejects the probe only when used on highmem system and the HCD is one
of the few annoying one that does not support DMA.

This is not the most pretty way to do things, but none of the driver
maintainers stepped up to convert them to properly kmapping buffers
before doing PIO or MMIO operations it does shift the burden to these
drivers and might get them to actually move that way if there are any
users of the drivers, or in case of usb-storage configurations left.

A nice benefit is that we remove the per-numa node stat used for the
number of bounce buffer operations.

Diffstat:
 b/arch/mips/configs/gcw0_defconfig  |    1 
 b/block/Makefile                    |    1 
 b/block/blk-map.c                   |    5 
 b/block/blk-mq.c                    |    2 
 b/block/blk-settings.c              |    5 
 b/block/blk.h                       |   17 --
 b/drivers/base/node.c               |    2 
 b/drivers/scsi/Kconfig              |    3 
 b/drivers/scsi/aha152x.c            |    1 
 b/drivers/scsi/imm.c                |    1 
 b/drivers/scsi/ppa.c                |    1 
 b/drivers/scsi/scsi_lib.c           |    3 
 b/drivers/usb/storage/usb.c         |   14 +
 b/fs/proc/meminfo.c                 |    3 
 b/include/linux/blk_types.h         |    1 
 b/include/linux/blkdev.h            |    5 
 b/include/linux/mmzone.h            |    1 
 b/include/scsi/scsi_host.h          |    2 
 b/include/trace/events/block.h      |   15 --
 b/include/uapi/linux/blktrace_api.h |    2 
 b/kernel/trace/blktrace.c           |    9 -
 b/mm/show_mem.c                     |    4 
 block/bounce.c                      |  267 ------------------------------------
 23 files changed, 19 insertions(+), 346 deletions(-)


             reply	other threads:[~2025-05-02  6:49 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-02  6:49 Christoph Hellwig [this message]
2025-05-02  6:49 ` [PATCH 1/7] scsi: make aha152x depend on !HIGHMEM Christoph Hellwig
2025-05-02  7:24   ` Hannes Reinecke
2025-05-02  6:49 ` [PATCH 2/7] scsi: make imm " Christoph Hellwig
2025-05-02  7:24   ` Hannes Reinecke
2025-05-02  6:49 ` [PATCH 3/7] scsi: make ppa " Christoph Hellwig
2025-05-02  7:25   ` Hannes Reinecke
2025-05-02  6:49 ` [PATCH 4/7] usb-storage: reject probe of device one non-DMA HCDs when using highmem Christoph Hellwig
2025-05-02  7:02   ` Greg KH
2025-05-02 13:21     ` Alan Stern
2025-05-02  7:25   ` Hannes Reinecke
2025-05-02  8:48   ` Sergey Shtylyov
2025-05-02 13:19   ` [usb-storage] " Alan Stern
2025-05-02  6:49 ` [PATCH 5/7] scsi: remove the no_highmem flag in the host Christoph Hellwig
2025-05-02  7:26   ` Hannes Reinecke
2025-05-02  6:49 ` [PATCH 6/7] block: remove bounce buffering support Christoph Hellwig
2025-05-02  7:27   ` Hannes Reinecke
2025-05-02  6:49 ` [PATCH 7/7] mm: remove NR_BOUNCE zone stat Christoph Hellwig
2025-05-02  7:27   ` Hannes Reinecke
2025-05-02  8:43 ` remove block layer bounce buffering Sergey Shtylyov
2025-05-05  8:36 ` Johannes Thumshirn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250502064930.2981820-1-hch@lst.de \
    --to=hch@lst.de \
    --cc=akpm@linux-foundation.org \
    --cc=axboe@kernel.dk \
    --cc=fischer@norbit.de \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=stern@rowland.harvard.edu \
    --cc=usb-storage@lists.one-eyed-alien.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox