[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CABwBYcb0XhomznNOV62uH3Yo1J7XjHowuhF3H36owXtiVSp8JQ@mail.gmail.com>
Date: Sat, 12 Feb 2022 13:53:59 -0700
From: Matt Waltz <matthewwaltzis@...il.com>
To: Keith Busch <kbusch@...nel.org>
Cc: Jens Axboe <axboe@...com>, Christoph Hellwig <hch@....de>,
Sagi Grimberg <sagi@...mberg.me>,
linux-nvme@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] nvme-pci: fix prp list allocation
That is the wrong part of the specification, describing the PRP entries,
not the list pointer. The relevant portion of the spec (2.0a figure
109 page 129) says:
If this entry is not the first PRP entry in the command or a
PRP List pointer in a command, then the Offset portion of this
field shall be cleared to 0h
On Sat, Feb 12, 2022 at 1:48 PM Keith Busch <kbusch@...nel.org> wrote:
>
> On Sat, Feb 12, 2022 at 01:06:49PM -0700, Matthew Waltz wrote:
> > Fixes kernel block errors originating from the hard-coded 256-byte
> > alignment of dma_pool_create(). The NVMe specification requires a PRP
> > List PBAO offset field of 0h, i.e. a PRP List must be aligned to the
> > configured 4096-byte memory page size.
>
> That is not correct. The spec (2.0a section 4.1.1) says:
>
> The first PRP List entry [...] shall be qword aligned and may also
> have a non-zero offset within the memory page.
Powered by blists - more mailing lists