]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/mm: Fix hash computation function
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Tue, 29 Jan 2013 19:40:42 +0000 (19:40 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 4 Feb 2013 04:15:08 +0000 (15:15 +1100)
commit84871b8385df946f3327d69f08e7e0fa598e085d
tree7de4fea5e76746a88043c726e6aba7b98ea687bc
parentf0a96fe0f5ac06feb2729aa1fe4758bcc96fbf2d
powerpc/mm: Fix hash computation function

The ASM version of hash computation function was truncating the upper bit.
Make the ASM version similar to hpt_hash function. Remove masking vsid bits.
Without this patch, we observed hang during bootup due to not satisfying page
fault request correctly. The fault handler used wrong hash values to update
the HPTE. Hence we kept looping with page fault.

hash_page(ea=000001003e260008, access=203, trap=300 ip=3fff91787134 dsisr 42000000
The computed value of hash 000000000f22f390
update: avpnv=4003e46054003e00, hash=000000000722f390, f=80000006, psize: 2 ...

BenH: The over-masking has been there for ever but only hurts with the
new 64T support introduced in 3.7

Reported-by: Mike Qiu <qiudayu@linux.vnet.ibm.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Tested-by: Mike Qiu <qiudayu@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: <stable@vger.kernel.org> [v3.7]
arch/powerpc/mm/hash_low_64.S