Re: [patch 1/2] x86_64 page fault NMI-safe

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Mathieu Desnoyers
Date: Sunday, August 15, 2010 - 11:31 am

* Avi Kivity (avi@redhat.com) wrote:

Yep.


A quick test (shown below) gives the cost of a TLB miss on the Intel Xeon E5404:

Number of cycles added over test baseline:

tlb and cache hit:            12.42
tlb hit, l2 hit, l1 miss      17.88
tlb hit,l2+l1 miss            32.34
tlb and cache miss           449.58

So it's closer to 500 per tlb miss.

Also, your analysis does not seem to correctly represent reality of the TLB
trashing cost. On a workload walking over a large number of random pages (e.g. a
large hash table) all the time, eating just a few more TLB entries will impact
the number of misses over the entire workload.

So it's not much the misses that we see at the tracing site that is the problem,
but also the extra misses taken by the application caused by the extra pressure
on TLB. So just a few more TLB entries taken by the tracer will likely hurt
these workloads.


The performance hit is not taken if the scheduler schedules another thread with
the same mapping, only when it schedules a different process.


Depending on the tracer design, the avg. event size can range from 12 bytes
(lttng is very agressive in event size compaction) to about 40 bytes (perf); so
for this you are mostly right. However, as explained above, the TLB miss cost is
higher than you expected.


I tested it in the past, and must admit that I changed from a vmalloc-based
implementation to page-based using software cross-page write primitives based on
feedback from Steven and Ingo. Diminishing TLB trashing seemed like a good
approach, and using vmalloc on 32-bit machines is a pain, because users have to
tweak the vmalloc region size at boot. So all in all, I moved to a vmalloc-less
implementation without much more thought.

If you feel we should test the performance of both approaches, we could do it in
the generic ring buffer library (it allows both type of allocation backends).
However, we'd have to find the right type of TLB-trashing real-world workload to
have meaningful results. This might be the hardest part.

Thanks,

Mathieu

# tlbmiss.c

#include <sys/time.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>

typedef unsigned long long cycles_t;

#define barrier() __asm__ __volatile__("": : :"memory")

/*
 * Serialize core instruction execution. Also acts as a compiler barrier.
 * On PIC ebx cannot be clobbered
 */
#ifdef __PIC__
#define sync_core()						      \
       asm volatile("push %%ebx; cpuid; pop %%ebx"		       \
		    : : : "memory", "eax", "ecx", "edx");
#endif
#ifndef __PIC__
#define sync_core()						      \
       asm volatile("cpuid" : : : "memory", "eax", "ebx", "ecx", "edx");
#endif

#define mb()	asm volatile("mfence":::"memory")
#define smp_mb()	mb()

#define rdtsc(low,high) \
     __asm__ __volatile__("rdtsc" : "=a" (low), "=d" (high))

#define rdtscl(low) \
     __asm__ __volatile__("rdtsc" : "=a" (low) : : "edx")

#define rdtscll(val) \
     __asm__ __volatile__("rdtsc" : "=A" (val))


#define mb()  asm volatile("mfence":::"memory")

static inline cycles_t get_cycles_sync(void)
{
	unsigned long long ret = 0;

	smp_mb();
	sync_core();
	rdtscll(ret);
	sync_core();
	smp_mb();
	return ret;
}

#define PAGE_SIZE 4096ULL	/* 4k */
#define L1_CACHELINE_SIZE 64
#define L2_CACHELINE_SIZE 128
#define ARRAY_SIZE 262144ULL /* 1 GB */

static char testpage[PAGE_SIZE] __attribute__((aligned(PAGE_SIZE)));

static unsigned int idx[ARRAY_SIZE];

#define NR_TESTS 100

int main(int argc, char **argv)
{
	struct timeval tv;
	struct timezone tz;
	cycles_t time1, time2;
	double cycles_per_iter;
	unsigned int i, j;
	pid_t pid;
	char *array;
	double baseline;

	printf("number of tests : %lu\n", NR_TESTS);

	srandom(get_cycles_sync());

	array = malloc(sizeof(char) * ARRAY_SIZE * PAGE_SIZE);

	for (i=0; i<ARRAY_SIZE; i++)
		idx[i] = random() % ARRAY_SIZE;

	testpage[0] = 1;

	printf("Nothing (baseline)\n");
	cycles_per_iter = 0.0;
	for (i=0; i<NR_TESTS; i++) {
		for (j=0; j<ARRAY_SIZE; j++)
			array[idx[j] * PAGE_SIZE] = 1;
		testpage[0] = 1;
		time1 = get_cycles_sync();
		time2 = get_cycles_sync();
		cycles_per_iter += (time2 - time1);
	}
	cycles_per_iter /= (double)NR_TESTS;

	baseline = (double) cycles_per_iter;
	printf("Baseline takes %g cycles\n", baseline);

	printf("TLB and caches hit\n");
	cycles_per_iter = 0.0;
	for (i=0; i<NR_TESTS; i++) {
		for (j=0; j<ARRAY_SIZE; j++)
			array[idx[j] * PAGE_SIZE] = 1;
		testpage[0] = 1;
		time1 = get_cycles_sync();
		testpage[0] = 1;
		time2 = get_cycles_sync();
		cycles_per_iter += (time2 - time1);
	}
	cycles_per_iter /= (double)NR_TESTS;

	printf("tlb and cache hit %g cycles (adds %g)\n",
					(double) cycles_per_iter,
					(double) cycles_per_iter - baseline);

	printf("TLB hit, l2 cache hit, l1 cache miss\n");
	cycles_per_iter = 0.0;
	for (i=0; i<NR_TESTS; i++) {
		for (j=0; j<ARRAY_SIZE; j++)
			array[idx[j] * PAGE_SIZE] = 1;
		testpage[0] = 1;
		time1 = get_cycles_sync();
		testpage[L1_CACHELINE_SIZE] = 1;
		time2 = get_cycles_sync();
		cycles_per_iter += (time2 - time1);
	}
	cycles_per_iter /= (double)NR_TESTS;

	printf("tlb hit, l2 hit, l1 miss %g cycles (adds %g)\n",
					(double) cycles_per_iter,
					(double) cycles_per_iter - baseline);

	printf("TLB hit, l2 cache miss, l1 cache miss\n");
	cycles_per_iter = 0.0;
	for (i=0; i<NR_TESTS; i++) {
		for (j=0; j<ARRAY_SIZE; j++)
			array[idx[j] * PAGE_SIZE] = 1;
		testpage[0] = 1;
		time1 = get_cycles_sync();
		testpage[L2_CACHELINE_SIZE] = 1;
		time2 = get_cycles_sync();
		cycles_per_iter += (time2 - time1);
	}
	cycles_per_iter /= (double)NR_TESTS;

	printf("tlb hit,l2+l1 miss %g cycles (adds %g)\n",
					(double) cycles_per_iter,
					(double) cycles_per_iter - baseline);

	printf("TLB and cache miss\n");
	cycles_per_iter = 0.0;
	for (i=0; i<NR_TESTS; i++) {
		for (j=0; j<ARRAY_SIZE; j++)
			array[idx[j] * PAGE_SIZE] = 1;
		time1 = get_cycles_sync();
		testpage[0] = 1;
		time2 = get_cycles_sync();
		cycles_per_iter += (time2 - time1);
	}
	cycles_per_iter /= (double)NR_TESTS;

	printf("tlb and cache miss %g cycles (adds %g)\n",
					(double) cycles_per_iter,
					(double) cycles_per_iter - baseline);
	free(array);

	return 0;
}

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch 0/2] x86: NMI-safe trap handlers, Mathieu Desnoyers, (Wed Jul 14, 8:49 am)
[patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 8:49 am)
[patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Wed Jul 14, 8:49 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 9:28 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Maciej W. Rozycki, (Wed Jul 14, 9:42 am)
Re: [patch 0/2] x86: NMI-safe trap handlers, Andi Kleen, (Wed Jul 14, 10:06 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 10:06 am)
Re: [patch 0/2] x86: NMI-safe trap handlers, Mathieu Desnoyers, (Wed Jul 14, 10:08 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 11:10 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Wed Jul 14, 11:12 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Ingo Molnar, (Wed Jul 14, 11:46 am)
Re: [patch 0/2] x86: NMI-safe trap handlers, Andi Kleen, (Wed Jul 14, 11:56 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 12:14 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Maciej W. Rozycki, (Wed Jul 14, 12:21 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Wed Jul 14, 12:36 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 12:41 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 12:54 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Andi Kleen, (Wed Jul 14, 12:56 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Wed Jul 14, 12:58 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 1:05 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Andi Kleen, (Wed Jul 14, 1:07 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, H. Peter Anvin, (Wed Jul 14, 1:08 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 1:17 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Maciej W. Rozycki, (Wed Jul 14, 1:36 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 1:39 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 1:55 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Ingo Molnar, (Wed Jul 14, 2:18 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 2:23 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Maciej W. Rozycki, (Wed Jul 14, 2:45 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 2:52 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Wed Jul 14, 3:14 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 3:21 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 3:31 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Maciej W. Rozycki, (Wed Jul 14, 3:31 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Wed Jul 14, 3:31 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 3:37 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Wed Jul 14, 3:48 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Jeremy Fitzhardinge, (Wed Jul 14, 3:51 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 3:56 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 4:02 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Andi Kleen, (Wed Jul 14, 4:09 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Jul 14, 4:11 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 4:22 pm)
Re: [patch 0/2] x86: NMI-safe trap handlers, Tejun Heo, (Wed Jul 14, 4:29 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Tejun Heo, (Wed Jul 14, 4:32 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Wed Jul 14, 4:38 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Steven Rostedt, (Wed Jul 14, 4:40 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Jeremy Fitzhardinge, (Wed Jul 14, 4:54 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 6:23 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Wed Jul 14, 6:45 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Thu Jul 15, 7:11 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Andi Kleen, (Thu Jul 15, 7:35 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Steven Rostedt, (Thu Jul 15, 7:46 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 7:51 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 8:38 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Jul 15, 9:26 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Jul 15, 9:44 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 9:49 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Jul 15, 10:38 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Jul 15, 11:31 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 11:43 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 11:48 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, H. Peter Anvin, (Thu Jul 15, 1:44 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Jul 15, 3:01 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 3:16 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, H. Peter Anvin, (Thu Jul 15, 3:24 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 3:26 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Jul 15, 3:30 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, H. Peter Anvin, (Thu Jul 15, 3:46 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Andi Kleen, (Thu Jul 15, 3:58 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, H. Peter Anvin, (Thu Jul 15, 4:20 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 4:23 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, H. Peter Anvin, (Thu Jul 15, 4:41 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Thu Jul 15, 4:44 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, H. Peter Anvin, (Thu Jul 15, 4:46 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Andi Kleen, (Thu Jul 15, 4:48 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Fri Jul 16, 3:47 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Fri Jul 16, 4:21 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Steven Rostedt, (Fri Jul 16, 4:43 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Fri Jul 16, 5:00 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 5:28 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Steven Rostedt, (Fri Jul 16, 5:54 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Fri Jul 16, 7:49 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Andi Kleen, (Fri Jul 16, 8:34 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Fri Jul 16, 8:40 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 9:47 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Fri Jul 16, 9:58 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 10:54 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, H. Peter Anvin, (Fri Jul 16, 11:05 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 11:15 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, H. Peter Anvin, (Fri Jul 16, 11:17 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Fri Jul 16, 11:22 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Linus Torvalds, (Fri Jul 16, 11:25 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 11:28 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 11:32 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Linus Torvalds, (Fri Jul 16, 11:37 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Fri Jul 16, 12:13 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 12:26 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Andi Kleen, (Fri Jul 16, 12:28 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, H. Peter Anvin, (Fri Jul 16, 12:29 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Andi Kleen, (Fri Jul 16, 12:30 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 12:32 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Andi Kleen, (Fri Jul 16, 12:32 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Andi Kleen, (Fri Jul 16, 12:34 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Fri Jul 16, 12:39 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Linus Torvalds, (Fri Jul 16, 2:39 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Andi Kleen, (Fri Jul 16, 3:07 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Linus Torvalds, (Fri Jul 16, 3:26 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Mathieu Desnoyers, (Fri Jul 16, 3:40 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Andi Kleen, (Fri Jul 16, 3:41 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Linus Torvalds, (Fri Jul 16, 6:15 pm)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Sun Jul 18, 2:23 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Avi Kivity, (Sun Jul 18, 2:26 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Avi Kivity, (Sun Jul 18, 4:03 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Sun Jul 18, 10:36 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Avi Kivity, (Sun Jul 18, 11:04 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Sun Jul 18, 11:17 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Sun Jul 18, 11:22 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Steven Rostedt, (Sun Jul 18, 11:43 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Sun Jul 18, 12:26 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Avi Kivity, (Mon Jul 19, 12:32 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Tue Aug 3, 10:18 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Tue Aug 3, 11:25 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Tue Aug 3, 11:56 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Tue Aug 3, 12:45 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Linus Torvalds, (Tue Aug 3, 1:02 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Ingo Molnar, (Tue Aug 3, 1:10 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Ingo Molnar, (Tue Aug 3, 1:21 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Tue Aug 3, 1:54 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Tue Aug 3, 2:16 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Tue Aug 3, 11:27 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Dave Chinner, (Tue Aug 3, 11:46 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Tue Aug 3, 11:46 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Ingo Molnar, (Wed Aug 4, 12:14 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Ingo Molnar, (Wed Aug 4, 12:21 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, Peter Zijlstra, (Wed Aug 4, 2:46 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Aug 4, 7:06 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Wed Aug 4, 7:45 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Wed Aug 4, 7:50 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Wed Aug 4, 7:56 am)
Re: [patch 2/2] x86 NMI-safe INT3 and Page Fault, H. Peter Anvin, (Wed Aug 4, 1:23 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Aug 5, 6:42 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Thu Aug 5, 6:49 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Masami Hiramatsu, (Thu Aug 5, 11:18 pm)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Fri Aug 6, 2:50 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Fri Aug 6, 2:51 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Fri Aug 6, 3:11 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Peter Zijlstra, (Fri Aug 6, 4:14 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Fri Aug 6, 6:37 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Fri Aug 6, 6:46 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Fri Aug 6, 7:13 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Fri Aug 6, 7:15 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Masami Hiramatsu, (Sat Aug 7, 2:51 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Frederic Weisbecker, (Mon Aug 9, 9:53 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Steven Rostedt, (Wed Aug 11, 7:34 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Steven Rostedt, (Wed Aug 11, 7:44 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Sun Aug 15, 6:35 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Avi Kivity, (Sun Aug 15, 9:33 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Sun Aug 15, 9:44 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Avi Kivity, (Sun Aug 15, 9:51 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Mathieu Desnoyers, (Sun Aug 15, 11:31 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Avi Kivity, (Mon Aug 16, 3:49 am)
Re: [patch 1/2] x86_64 page fault NMI-safe, Avi Kivity, (Mon Aug 16, 4:29 am)