Re: [BUG] bug when enabling VM DEBUG

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/11/2010 09:27 AM, saeed bishara wrote:
Jeff,
seems that the libata do pio to buffer which was allocated with
kmalloc, and under arm arch, the flush_dcache_page() is needed to
prevent cache aliasing, the later function calls the page_mapping
which falls on PageSlab(page)

as the flush_dcache_page() is needed to prevent aliasing, it can be
skipped if the page is Slab as such pages are used only by the kernel.
here a suggested patch:

--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -894,7 +894,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc)
                                        do_write);
         }

-       if (!do_write)
+       if (!do_write&&  !PageSlab(page))
                 flush_dcache_page(page);

saeed

I would think that check belongs inside flush_dcache_page itself, rather than forcing every driver to include it..
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux