Re: [PATCH v2 2/3] doc: swiotlb: Document SWIOTLB areas parameter

From: T.J. Mercier
Date: Thu May 09 2024 - 12:04:40 EST


On Wed, May 8, 2024 at 11:14 PM Petr Tesařík <petr@xxxxxxxxxxx> wrote:
>
> On Tue, 7 May 2024 01:34:59 +0000
> "T.J. Mercier" <tjmercier@xxxxxxxxxx> wrote:
>
> > Commit 20347fca71a3 ("swiotlb: split up the global swiotlb lock") added
> > the ability to specify the number of SWIOTLB areas, but boot-options.rst
> > was not updated as part of that commit.
> >
> > Reported-by: Michael Kelley <mhklinux@xxxxxxxxxxx>
> > Fixes: 20347fca71a3 ("swiotlb: split up the global swiotlb lock")
> > Signed-off-by: T.J. Mercier <tjmercier@xxxxxxxxxx>
> > ---
> > Documentation/arch/x86/x86_64/boot-options.rst | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/arch/x86/x86_64/boot-options.rst b/Documentation/arch/x86/x86_64/boot-options.rst
> > index a37139d1752f..18161657b301 100644
> > --- a/Documentation/arch/x86/x86_64/boot-options.rst
> > +++ b/Documentation/arch/x86/x86_64/boot-options.rst
> > @@ -287,9 +287,11 @@ iommu options only relevant to the AMD GART hardware IOMMU:
> > iommu options only relevant to the software bounce buffering (SWIOTLB) IOMMU
> > implementation:
> >
> > - swiotlb=<slots>[,force,noforce]
> > + swiotlb=<slots>[,<areas>,force,noforce]
>
> This is not quite how this parameter is parsed. All the following
> specifications are valid:
>
> - swiotlb=512 // only slots
> - swiotlb=,4 // only areas
> - swiotlb=512,4 // slots and areas
> - swiotlb=force // default size
> - swiotlb=512,force // default areas
> - swiotlb=512,4,force // explicitly specify everything
>
> I believe the syntax should be somethig like:
>
> swiotlb={ | [<slots>][,<areas>],}{ force | noforce }
>
> Petr T
>
What does the leading | mean in front of slots? How about brackets
around force/noforce since they're also optional and mutually
exclusive? The Rebooting section uses double brackets instead of
braces for groupings like that. Only weird thing here is the
force/noforce comma being potentially unneeded, but that's getting
pretty picky and I think the intent is clear.

swiotlb=[<slots>][,<areas>][, [force] | [noforce] ]