Hi,

> This enables us to share the same page table code for
> both radix and hash. Radix use a hardware defined big endian
> page table

This is measurably worse (a little over 2% on POWER8) on a futex
microbenchmark:

#define _GNU_SOURCE
#include <unistd.h>
#include <sys/syscall.h>
#include <linux/futex.h>

#define ITERATIONS 10000000

#define futex(A, B, C, D, E, F)         syscall(__NR_futex, A, B, C, D, E, F)

int main(void)
{
        unsigned long i = ITERATIONS;

        while (i--) {
                unsigned int addr = 0;

                futex(&addr, FUTEX_WAKE, 1, NULL, NULL, 0);
        }

        return 0;
}

Is there any way to avoid the radix tax here?

Anton
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to