xfstests 013 - 2.6.35.11 - hang

Ajeet Yadav ajeet.yadav.77 at gmail.com
Thu Apr 28 02:29:11 CDT 2011


MIPS32® 34K™ Core
It does not provide  invalidate_kernel_vmap_range() /
flush_kernel_vmap_range() to deal with cache coherency problem
Therefore we provided dma_cache_inv() / dma_cache_wback_inv() , after
that we did not had any coherency problem
But as you saying it still has cache coherency problem, wrt xfstests 001 ?

diff -Nurp -X linux-2.6.35.11/Documentation/dontdiff
linux-2.6.35.11/fs/xfs/linux-2.6/xfs_buf.c
linux-2.6.35.11-dirty/fs/xfs/linux-2.6/xfs_buf.c
--- linux-2.6.35.11/fs/xfs/linux-2.6/xfs_buf.c  2011-02-07
04:04:07.000000000 +0900
+++ linux-2.6.35.11-dirty/fs/xfs/linux-2.6/xfs_buf.c    2011-03-22
18:29:09.000000000 +0900
@@ -1192,7 +1192,7 @@ xfs_buf_bio_end_io(
        xfs_buf_ioerror(bp, -error);

        if (!error && xfs_buf_is_vmapped(bp) && (bp->b_flags & XBF_READ))
-               invalidate_kernel_vmap_range(bp->b_addr, xfs_buf_vmap_len(bp));
+               dma_cache_inv((unsigned long)bp->b_addr, xfs_buf_vmap_len(bp));

        do {
                struct page     *page = bvec->bv_page;
@@ -1304,7 +1304,7 @@ next_chunk:
 submit_io:
        if (likely(bio->bi_size)) {
                if (xfs_buf_is_vmapped(bp)) {
-                       flush_kernel_vmap_range(bp->b_addr,
+                       dma_cache_wback_inv((unsigned long)bp->b_addr,
                                                xfs_buf_vmap_len(bp));
                }
                submit_bio(rw, bio);

On Wed, Apr 27, 2011 at 10:41 PM, Christoph Hellwig <hch at infradead.org> wrote:
> Does 001 also fail for say ext2 and ext3?
>
>




More information about the xfs mailing list