[PATCH V2 04/68] powerpc/mm: Use big endian page table for book3s 64
anton at samba.org
Mon May 30 09:08:33 AEST 2016
> That is surprising, do we have any idea what specifically increases
> the overhead so significantly ? Does gcc know about ldbrx/stdbrx ? I
> notice in our io.h for example we still do manual ld/std + swap
> because old processors didn't know these, we should fix that for
> CONFIG_POWER8 (or is it POWER7 that brought these ?).
The futex issue seems to be __get_user_pages_fast():
That's a whole lot of work just to check if a pte is zero. I assume
the reason gcc can't replace this with a byte reversed load is that
we access the pte via the READ_ONCE() macro.
I see the same issue in unmap_page_range(), __hash_page_64K(),
The other issue I see is when we access a pte via larx/stcx, and then
we have no choice but to byte swap it manually. I see that in
More information about the Linuxppc-dev