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 > <slots> > Prereserve that many 2K slots for the software IO bounce buffering. > + <areas> > + Number of SWIOTLB areas with their own lock. Must be a power of 2. > force > Force all IO through the software TLB. > Hardware IOMMU implementations can use SWIOTLB bounce buffering in