[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <87e339bf-6ca9-406a-9f15-d744f90c9c40@app.fastmail.com>
Date: Sat, 10 Feb 2024 12:58:30 +0100
From: "Arnd Bergmann" <arnd@...db.de>
To: "Linus Walleij" <linus.walleij@...aro.org>,
Michał Mirosław <mirq-linux@...e.qmqm.pl>
Cc: "Christoph Hellwig" <hch@....de>, "Ulf Hansson" <ulf.hansson@...aro.org>,
"linux-mmc @ vger . kernel . org" <linux-mmc@...r.kernel.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mmc: core Drop BLK_BOUNCE_HIGH
On Sat, Feb 10, 2024, at 00:41, Linus Walleij wrote:
> On Fri, Feb 9, 2024 at 11:35 PM Michał Mirosław <mirq-linux@...e.qmqm.pl> wrote:
>
>> > I think it's worth mentioning the cb710 example here, which
>> > uses a platform device as a child of a PCI device and
>> > does not assign a DMA mask nor use DMA.
>> >
>> > This one will see a change in behavior, meaning that the
>> > blockdev buffers are no longer bounced. As far as I can
>> > tell, this is fine because the driver appears to correctly
>> > use the sg_iter infrastructure for mapping data pages,
>> > but it would be good to have this confirmed by
>> > Michał Mirosław because this code path has probably never
>> > been tested without BLK_BOUNCE_HIGH.
>>
>> Hi, this driver doesn't do DMA at all, so having DMA mask set or not
>> it should be good as long as the CPU can read/write the buffers.
>
> The only difference is where the CPU have to read/write the
> buffers really, before the change those were all guaranteed to
> be in lowmem (bounced there by the block core), now they can
> also be in highmem, but sg_miter will deal with it for sure.
Yes, that was my point: The sg_miter() code is meant to
handle exactly this case with highmem data, but as far
as I can tell, that code path has never been tested on
32-bit systems with highmem but without BLK_BOUNCE_HIGH.
Arnd
Powered by blists - more mailing lists