Re: [patch] cache flush bug in mm/filemap.c (all kernels >=2.5.30(at least))

From: David S. Miller (davem@redhat.com)
Date: Wed May 28 2003 - 17:52:37 EST


From: Roman Zippel <zippel@xxxxxxxxxxxxxx>
Date: Wed, 28 May 2003 18:35:15 +0200 (CEST)

set_pte() establishes the mapping, this means another cpu can get the pte
and start reading the data e.g. into the instruction cache, but if that
cpu still has dirty data in the data cache (e.g. a write() or a disk
read), the following update_mmu_cache() might be too late.

If that really matters for you, your set_pte() could add this
operation to a list of pending set_pte()'s in the mm_struct arch
specific context area. Then at update_mmu_cache() it runs this
list of todo items.

I don't see the problem.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/