Re: [PATCH RFC 24/35] ata: libata-eh: drop nth_page() usage within SG entry
David Hildenbrand <[email protected]>
| Newsgroups | com.zx2c4.lists.wireguard,dev.linux.lists.iommu,dev.linux.lists.virtualization,org.freedesktop.lists.dri-devel,org.freedesktop.lists.intel-gfx,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-riscv,org.kernel.vger.io-uring,org.kernel.vger.kvm,org.kernel.vger.linux-crypto,org.kernel.vger.linux-ide,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest,org.kernel.vger.linux-mips,org.kernel.vger.linux-mmc,org.kernel.vger.linux-s390,org.kernel.vger.linux-scsi,org.kernel.vger.netdev,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On 22.08.25 03:59, Damien Le Moal wrote: > On 8/22/25 05:06, David Hildenbrand wrote: >> It's no longer required to use nth_page() when iterating pages within a >> single SG entry, so let's drop the nth_page() usage. >> >> Cc: Damien Le Moal <[email protected]> >> Cc: Niklas Cassel <[email protected]> >> Signed-off-by: David Hildenbrand <[email protected]> >> --- >> drivers/ata/libata-sff.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c >> index 7fc407255eb46..9f5d0f9f6d686 100644 >> --- a/drivers/ata/libata-sff.c >> +++ b/drivers/ata/libata-sff.c >> @@ -614,7 +614,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) >> offset = qc->cursg->offset + qc->cursg_ofs; >> >> /* get the current page and offset */ >> - page = nth_page(page, (offset >> PAGE_SHIFT)); >> + page += offset / PAGE_SHIFT; > > Shouldn't this be "offset >> PAGE_SHIFT" ? Thanks for taking a look! Yeah, I already reverted back to "offset >> PAGE_SHIFT" after Linus mentioned in another mail in this thread that ">> PAGE_SHIFT" is generally preferred because the compiler cannot optimize as much if offset would be a signed variable. So the next version will have the shift again. -- Cheers David / dhildenb