[PATCH] ppc64: More hugepage fixes

Dave Hansen haveblue at us.ibm.com
Tue Sep 27 12:33:31 EST 2005


On Tue, 2005-09-27 at 11:56 +1000, Benjamin Herrenschmidt wrote:
> My previous patch fixing invalidation of huge PTEs wasn't good enough,
> we still had an issue if a PTE invalidation batch contained both small
> and large pages. This patch fixes this by making sure the batch is
> flushed if the page size fed to it changes.

(It always helps when you include 'diff -p' output; it makes patches
much easier to read)

I'm curious, what's the actual bug?

__tlbie itself doesn't seem like it would do too much differently if
called for large or small pages because all it does is align the vaddr
differently.   I don't know where it would even get an unaligned address
from unless somebody sticks one in one of the batch->addrs.  If the
addresses are aligned, I don't see how this patch would help.

Or, is it required that you must sync with:

	asm volatile("eieio; tlbsync; ptesync":::"memory");

between tlbie's of large and small pages.


-- Dave




More information about the Linuxppc64-dev mailing list