Thread (139 messages) 139 messages, 9 authors, 2016-11-24

Re: [PATCH V2 04/68] powerpc/mm: Use big endian page table for book3s 64

From: Anton Blanchard <hidden>
Date: 2016-05-29 11:04:23

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help