[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6e556f7b6b769c4d70be3e248b98d8d09d51452b.camel@sipsolutions.net>
Date: Thu, 13 Jun 2024 12:36:59 +0200
From: Johannes Berg <johannes@...solutions.net>
To: Baochen Qiang <quic_bqiang@...cinc.com>, Fabio Estevam
<festevam@...il.com>
Cc: miriam.rachel.korenblit@...el.com, kvalo@...nel.org, Jakub Kicinski
<kuba@...nel.org>, linux-wireless <linux-wireless@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: iwlwifi: Regression after migrating to 6.6.32
On Thu, 2024-06-13 at 17:51 +0800, Baochen Qiang wrote:
> >
> > Not sure that means anything though, I really would have expected a 4k
> > buffer to be 4k aligned - why would you even want to map it across two
> > pages?
> IMO SWIOTLB manages buffers in a unit of IO_TLB_SIZE, it does not care about whether or not we are crossing page boundaries, no?
Well arguably it should have some 'natural' alignment guarantees?
> >
> > If it is SWIOTLB, shouldn't we get into this condition?
> >
> > /*
> > * Historically, swiotlb allocations >= PAGE_SIZE were guaranteed to be
> > * page-aligned in the absence of any other alignment requirements.
> > * 'alloc_align_mask' was later introduced to specify the alignment
> > * explicitly, however this is passed as zero for streaming mappings
> > * and so we preserve the old behaviour there in case any drivers are
> > * relying on it.
> > */
> > if (!alloc_align_mask && !iotlb_align_mask && alloc_size >= PAGE_SIZE)
> > alloc_align_mask = PAGE_SIZE - 1;
> >
> This is not present in 6.6.32 stable kernel.
>
Oh. So I guess try to pick up commit 14cebf689a78 ("swiotlb: Reinstate
page-alignment for mappings >= PAGE_SIZE").
johannes
Powered by blists - more mailing lists