All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Ellerman <mpe@ellerman.id.au>
To: stable@vger.kernel.org, gregkh@linuxfoundation.org
Cc: linuxppc-dev@ozlabs.org, diana.craciun@nxp.com,
	msuchanek@suse.de, npiggin@gmail.com, christophe.leroy@c-s.fr
Subject: [PATCH stable v4.4 02/52] powerpc/64s: Improve RFI L1-D cache flush fallback
Date: Mon, 22 Apr 2019 00:19:47 +1000	[thread overview]
Message-ID: <20190421142037.21881-3-mpe@ellerman.id.au> (raw)
In-Reply-To: <20190421142037.21881-1-mpe@ellerman.id.au>

From: Nicholas Piggin <npiggin@gmail.com>

commit bdcb1aefc5b3f7d0f1dc8b02673602bca2ff7a4b upstream.

The fallback RFI flush is used when firmware does not provide a way
to flush the cache. It's a "displacement flush" that evicts useful
data by displacing it with an uninteresting buffer.

The flush has to take care to work with implementation specific cache
replacment policies, so the recipe has been in flux. The initial
slow but conservative approach is to touch all lines of a congruence
class, with dependencies between each load. It has since been
determined that a linear pattern of loads without dependencies is
sufficient, and is significantly faster.

Measuring the speed of a null syscall with RFI fallback flush enabled
gives the relative improvement:

P8 - 1.83x
P9 - 1.75x

The flush also becomes simpler and more adaptable to different cache
geometries.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
 arch/powerpc/include/asm/paca.h      |  3 +-
 arch/powerpc/kernel/asm-offsets.c    |  3 +-
 arch/powerpc/kernel/exceptions-64s.S | 76 +++++++++++++---------------
 arch/powerpc/kernel/setup_64.c       | 13 +----
 arch/powerpc/xmon/xmon.c             |  2 -
 5 files changed, 39 insertions(+), 58 deletions(-)

diff --git a/arch/powerpc/include/asm/paca.h b/arch/powerpc/include/asm/paca.h
index 45e2aefece16..08e5df3395fa 100644
--- a/arch/powerpc/include/asm/paca.h
+++ b/arch/powerpc/include/asm/paca.h
@@ -199,8 +199,7 @@ struct paca_struct {
 	 */
 	u64 exrfi[13] __aligned(0x80);
 	void *rfi_flush_fallback_area;
-	u64 l1d_flush_congruence;
-	u64 l1d_flush_sets;
+	u64 l1d_flush_size;
 #endif
 };
 
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
index d92705e3a0c1..de3c29c51503 100644
--- a/arch/powerpc/kernel/asm-offsets.c
+++ b/arch/powerpc/kernel/asm-offsets.c
@@ -245,8 +245,7 @@ int main(void)
 	DEFINE(PACA_IN_MCE, offsetof(struct paca_struct, in_mce));
 	DEFINE(PACA_RFI_FLUSH_FALLBACK_AREA, offsetof(struct paca_struct, rfi_flush_fallback_area));
 	DEFINE(PACA_EXRFI, offsetof(struct paca_struct, exrfi));
-	DEFINE(PACA_L1D_FLUSH_CONGRUENCE, offsetof(struct paca_struct, l1d_flush_congruence));
-	DEFINE(PACA_L1D_FLUSH_SETS, offsetof(struct paca_struct, l1d_flush_sets));
+	DEFINE(PACA_L1D_FLUSH_SIZE, offsetof(struct paca_struct, l1d_flush_size));
 #endif
 	DEFINE(PACAHWCPUID, offsetof(struct paca_struct, hw_cpu_id));
 	DEFINE(PACAKEXECSTATE, offsetof(struct paca_struct, kexec_state));
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index 938a30fef031..d2ff233ddc53 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -1571,39 +1571,37 @@ END_FTR_SECTION_IFSET(CPU_FTR_VSX)
 	std	r9,PACA_EXRFI+EX_R9(r13)
 	std	r10,PACA_EXRFI+EX_R10(r13)
 	std	r11,PACA_EXRFI+EX_R11(r13)
-	std	r12,PACA_EXRFI+EX_R12(r13)
-	std	r8,PACA_EXRFI+EX_R13(r13)
 	mfctr	r9
 	ld	r10,PACA_RFI_FLUSH_FALLBACK_AREA(r13)
-	ld	r11,PACA_L1D_FLUSH_SETS(r13)
-	ld	r12,PACA_L1D_FLUSH_CONGRUENCE(r13)
-	/*
-	 * The load adresses are at staggered offsets within cachelines,
-	 * which suits some pipelines better (on others it should not
-	 * hurt).
-	 */
-	addi	r12,r12,8
+	ld	r11,PACA_L1D_FLUSH_SIZE(r13)
+	srdi	r11,r11,(7 + 3) /* 128 byte lines, unrolled 8x */
 	mtctr	r11
 	DCBT_STOP_ALL_STREAM_IDS(r11) /* Stop prefetch streams */
 
 	/* order ld/st prior to dcbt stop all streams with flushing */
 	sync
-1:	li	r8,0
-	.rept	8 /* 8-way set associative */
-	ldx	r11,r10,r8
-	add	r8,r8,r12
-	xor	r11,r11,r11	// Ensure r11 is 0 even if fallback area is not
-	add	r8,r8,r11	// Add 0, this creates a dependency on the ldx
-	.endr
-	addi	r10,r10,128 /* 128 byte cache line */
+
+	/*
+	 * The load adresses are at staggered offsets within cachelines,
+	 * which suits some pipelines better (on others it should not
+	 * hurt).
+	 */
+1:
+	ld	r11,(0x80 + 8)*0(r10)
+	ld	r11,(0x80 + 8)*1(r10)
+	ld	r11,(0x80 + 8)*2(r10)
+	ld	r11,(0x80 + 8)*3(r10)
+	ld	r11,(0x80 + 8)*4(r10)
+	ld	r11,(0x80 + 8)*5(r10)
+	ld	r11,(0x80 + 8)*6(r10)
+	ld	r11,(0x80 + 8)*7(r10)
+	addi	r10,r10,0x80*8
 	bdnz	1b
 
 	mtctr	r9
 	ld	r9,PACA_EXRFI+EX_R9(r13)
 	ld	r10,PACA_EXRFI+EX_R10(r13)
 	ld	r11,PACA_EXRFI+EX_R11(r13)
-	ld	r12,PACA_EXRFI+EX_R12(r13)
-	ld	r8,PACA_EXRFI+EX_R13(r13)
 	GET_SCRATCH0(r13);
 	rfid
 
@@ -1614,39 +1612,37 @@ END_FTR_SECTION_IFSET(CPU_FTR_VSX)
 	std	r9,PACA_EXRFI+EX_R9(r13)
 	std	r10,PACA_EXRFI+EX_R10(r13)
 	std	r11,PACA_EXRFI+EX_R11(r13)
-	std	r12,PACA_EXRFI+EX_R12(r13)
-	std	r8,PACA_EXRFI+EX_R13(r13)
 	mfctr	r9
 	ld	r10,PACA_RFI_FLUSH_FALLBACK_AREA(r13)
-	ld	r11,PACA_L1D_FLUSH_SETS(r13)
-	ld	r12,PACA_L1D_FLUSH_CONGRUENCE(r13)
-	/*
-	 * The load adresses are at staggered offsets within cachelines,
-	 * which suits some pipelines better (on others it should not
-	 * hurt).
-	 */
-	addi	r12,r12,8
+	ld	r11,PACA_L1D_FLUSH_SIZE(r13)
+	srdi	r11,r11,(7 + 3) /* 128 byte lines, unrolled 8x */
 	mtctr	r11
 	DCBT_STOP_ALL_STREAM_IDS(r11) /* Stop prefetch streams */
 
 	/* order ld/st prior to dcbt stop all streams with flushing */
 	sync
-1:	li	r8,0
-	.rept	8 /* 8-way set associative */
-	ldx	r11,r10,r8
-	add	r8,r8,r12
-	xor	r11,r11,r11	// Ensure r11 is 0 even if fallback area is not
-	add	r8,r8,r11	// Add 0, this creates a dependency on the ldx
-	.endr
-	addi	r10,r10,128 /* 128 byte cache line */
+
+	/*
+	 * The load adresses are at staggered offsets within cachelines,
+	 * which suits some pipelines better (on others it should not
+	 * hurt).
+	 */
+1:
+	ld	r11,(0x80 + 8)*0(r10)
+	ld	r11,(0x80 + 8)*1(r10)
+	ld	r11,(0x80 + 8)*2(r10)
+	ld	r11,(0x80 + 8)*3(r10)
+	ld	r11,(0x80 + 8)*4(r10)
+	ld	r11,(0x80 + 8)*5(r10)
+	ld	r11,(0x80 + 8)*6(r10)
+	ld	r11,(0x80 + 8)*7(r10)
+	addi	r10,r10,0x80*8
 	bdnz	1b
 
 	mtctr	r9
 	ld	r9,PACA_EXRFI+EX_R9(r13)
 	ld	r10,PACA_EXRFI+EX_R10(r13)
 	ld	r11,PACA_EXRFI+EX_R11(r13)
-	ld	r12,PACA_EXRFI+EX_R12(r13)
-	ld	r8,PACA_EXRFI+EX_R13(r13)
 	GET_SCRATCH0(r13);
 	hrfid
 
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 9eb469bed22b..1d2712d628c3 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -902,19 +902,8 @@ static void init_fallback_flush(void)
 	memset(l1d_flush_fallback_area, 0, l1d_size * 2);
 
 	for_each_possible_cpu(cpu) {
-		/*
-		 * The fallback flush is currently coded for 8-way
-		 * associativity. Different associativity is possible, but it
-		 * will be treated as 8-way and may not evict the lines as
-		 * effectively.
-		 *
-		 * 128 byte lines are mandatory.
-		 */
-		u64 c = l1d_size / 8;
-
 		paca[cpu].rfi_flush_fallback_area = l1d_flush_fallback_area;
-		paca[cpu].l1d_flush_congruence = c;
-		paca[cpu].l1d_flush_sets = c / 128;
+		paca[cpu].l1d_flush_size = l1d_size;
 	}
 }
 
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index 5f0c17b043de..83619ebede93 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -2146,8 +2146,6 @@ static void dump_one_paca(int cpu)
 		printf(" slb_cache[%d]:        = 0x%016lx\n", i, p->slb_cache[i]);
 
 	DUMP(p, rfi_flush_fallback_area, "px");
-	DUMP(p, l1d_flush_congruence, "llx");
-	DUMP(p, l1d_flush_sets, "llx");
 #endif
 	DUMP(p, dscr_default, "llx");
 #ifdef CONFIG_PPC_BOOK3E
-- 
2.20.1


WARNING: multiple messages have this Message-ID (diff)
From: Michael Ellerman <mpe@ellerman.id.au>
To: stable@vger.kernel.org, gregkh@linuxfoundation.org
Cc: diana.craciun@nxp.com, linuxppc-dev@ozlabs.org,
	msuchanek@suse.de, npiggin@gmail.com
Subject: [PATCH stable v4.4 02/52] powerpc/64s: Improve RFI L1-D cache flush fallback
Date: Mon, 22 Apr 2019 00:19:47 +1000	[thread overview]
Message-ID: <20190421142037.21881-3-mpe@ellerman.id.au> (raw)
In-Reply-To: <20190421142037.21881-1-mpe@ellerman.id.au>

From: Nicholas Piggin <npiggin@gmail.com>

commit bdcb1aefc5b3f7d0f1dc8b02673602bca2ff7a4b upstream.

The fallback RFI flush is used when firmware does not provide a way
to flush the cache. It's a "displacement flush" that evicts useful
data by displacing it with an uninteresting buffer.

The flush has to take care to work with implementation specific cache
replacment policies, so the recipe has been in flux. The initial
slow but conservative approach is to touch all lines of a congruence
class, with dependencies between each load. It has since been
determined that a linear pattern of loads without dependencies is
sufficient, and is significantly faster.

Measuring the speed of a null syscall with RFI fallback flush enabled
gives the relative improvement:

P8 - 1.83x
P9 - 1.75x

The flush also becomes simpler and more adaptable to different cache
geometries.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
 arch/powerpc/include/asm/paca.h      |  3 +-
 arch/powerpc/kernel/asm-offsets.c    |  3 +-
 arch/powerpc/kernel/exceptions-64s.S | 76 +++++++++++++---------------
 arch/powerpc/kernel/setup_64.c       | 13 +----
 arch/powerpc/xmon/xmon.c             |  2 -
 5 files changed, 39 insertions(+), 58 deletions(-)

diff --git a/arch/powerpc/include/asm/paca.h b/arch/powerpc/include/asm/paca.h
index 45e2aefece16..08e5df3395fa 100644
--- a/arch/powerpc/include/asm/paca.h
+++ b/arch/powerpc/include/asm/paca.h
@@ -199,8 +199,7 @@ struct paca_struct {
 	 */
 	u64 exrfi[13] __aligned(0x80);
 	void *rfi_flush_fallback_area;
-	u64 l1d_flush_congruence;
-	u64 l1d_flush_sets;
+	u64 l1d_flush_size;
 #endif
 };
 
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
index d92705e3a0c1..de3c29c51503 100644
--- a/arch/powerpc/kernel/asm-offsets.c
+++ b/arch/powerpc/kernel/asm-offsets.c
@@ -245,8 +245,7 @@ int main(void)
 	DEFINE(PACA_IN_MCE, offsetof(struct paca_struct, in_mce));
 	DEFINE(PACA_RFI_FLUSH_FALLBACK_AREA, offsetof(struct paca_struct, rfi_flush_fallback_area));
 	DEFINE(PACA_EXRFI, offsetof(struct paca_struct, exrfi));
-	DEFINE(PACA_L1D_FLUSH_CONGRUENCE, offsetof(struct paca_struct, l1d_flush_congruence));
-	DEFINE(PACA_L1D_FLUSH_SETS, offsetof(struct paca_struct, l1d_flush_sets));
+	DEFINE(PACA_L1D_FLUSH_SIZE, offsetof(struct paca_struct, l1d_flush_size));
 #endif
 	DEFINE(PACAHWCPUID, offsetof(struct paca_struct, hw_cpu_id));
 	DEFINE(PACAKEXECSTATE, offsetof(struct paca_struct, kexec_state));
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index 938a30fef031..d2ff233ddc53 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -1571,39 +1571,37 @@ END_FTR_SECTION_IFSET(CPU_FTR_VSX)
 	std	r9,PACA_EXRFI+EX_R9(r13)
 	std	r10,PACA_EXRFI+EX_R10(r13)
 	std	r11,PACA_EXRFI+EX_R11(r13)
-	std	r12,PACA_EXRFI+EX_R12(r13)
-	std	r8,PACA_EXRFI+EX_R13(r13)
 	mfctr	r9
 	ld	r10,PACA_RFI_FLUSH_FALLBACK_AREA(r13)
-	ld	r11,PACA_L1D_FLUSH_SETS(r13)
-	ld	r12,PACA_L1D_FLUSH_CONGRUENCE(r13)
-	/*
-	 * The load adresses are at staggered offsets within cachelines,
-	 * which suits some pipelines better (on others it should not
-	 * hurt).
-	 */
-	addi	r12,r12,8
+	ld	r11,PACA_L1D_FLUSH_SIZE(r13)
+	srdi	r11,r11,(7 + 3) /* 128 byte lines, unrolled 8x */
 	mtctr	r11
 	DCBT_STOP_ALL_STREAM_IDS(r11) /* Stop prefetch streams */
 
 	/* order ld/st prior to dcbt stop all streams with flushing */
 	sync
-1:	li	r8,0
-	.rept	8 /* 8-way set associative */
-	ldx	r11,r10,r8
-	add	r8,r8,r12
-	xor	r11,r11,r11	// Ensure r11 is 0 even if fallback area is not
-	add	r8,r8,r11	// Add 0, this creates a dependency on the ldx
-	.endr
-	addi	r10,r10,128 /* 128 byte cache line */
+
+	/*
+	 * The load adresses are at staggered offsets within cachelines,
+	 * which suits some pipelines better (on others it should not
+	 * hurt).
+	 */
+1:
+	ld	r11,(0x80 + 8)*0(r10)
+	ld	r11,(0x80 + 8)*1(r10)
+	ld	r11,(0x80 + 8)*2(r10)
+	ld	r11,(0x80 + 8)*3(r10)
+	ld	r11,(0x80 + 8)*4(r10)
+	ld	r11,(0x80 + 8)*5(r10)
+	ld	r11,(0x80 + 8)*6(r10)
+	ld	r11,(0x80 + 8)*7(r10)
+	addi	r10,r10,0x80*8
 	bdnz	1b
 
 	mtctr	r9
 	ld	r9,PACA_EXRFI+EX_R9(r13)
 	ld	r10,PACA_EXRFI+EX_R10(r13)
 	ld	r11,PACA_EXRFI+EX_R11(r13)
-	ld	r12,PACA_EXRFI+EX_R12(r13)
-	ld	r8,PACA_EXRFI+EX_R13(r13)
 	GET_SCRATCH0(r13);
 	rfid
 
@@ -1614,39 +1612,37 @@ END_FTR_SECTION_IFSET(CPU_FTR_VSX)
 	std	r9,PACA_EXRFI+EX_R9(r13)
 	std	r10,PACA_EXRFI+EX_R10(r13)
 	std	r11,PACA_EXRFI+EX_R11(r13)
-	std	r12,PACA_EXRFI+EX_R12(r13)
-	std	r8,PACA_EXRFI+EX_R13(r13)
 	mfctr	r9
 	ld	r10,PACA_RFI_FLUSH_FALLBACK_AREA(r13)
-	ld	r11,PACA_L1D_FLUSH_SETS(r13)
-	ld	r12,PACA_L1D_FLUSH_CONGRUENCE(r13)
-	/*
-	 * The load adresses are at staggered offsets within cachelines,
-	 * which suits some pipelines better (on others it should not
-	 * hurt).
-	 */
-	addi	r12,r12,8
+	ld	r11,PACA_L1D_FLUSH_SIZE(r13)
+	srdi	r11,r11,(7 + 3) /* 128 byte lines, unrolled 8x */
 	mtctr	r11
 	DCBT_STOP_ALL_STREAM_IDS(r11) /* Stop prefetch streams */
 
 	/* order ld/st prior to dcbt stop all streams with flushing */
 	sync
-1:	li	r8,0
-	.rept	8 /* 8-way set associative */
-	ldx	r11,r10,r8
-	add	r8,r8,r12
-	xor	r11,r11,r11	// Ensure r11 is 0 even if fallback area is not
-	add	r8,r8,r11	// Add 0, this creates a dependency on the ldx
-	.endr
-	addi	r10,r10,128 /* 128 byte cache line */
+
+	/*
+	 * The load adresses are at staggered offsets within cachelines,
+	 * which suits some pipelines better (on others it should not
+	 * hurt).
+	 */
+1:
+	ld	r11,(0x80 + 8)*0(r10)
+	ld	r11,(0x80 + 8)*1(r10)
+	ld	r11,(0x80 + 8)*2(r10)
+	ld	r11,(0x80 + 8)*3(r10)
+	ld	r11,(0x80 + 8)*4(r10)
+	ld	r11,(0x80 + 8)*5(r10)
+	ld	r11,(0x80 + 8)*6(r10)
+	ld	r11,(0x80 + 8)*7(r10)
+	addi	r10,r10,0x80*8
 	bdnz	1b
 
 	mtctr	r9
 	ld	r9,PACA_EXRFI+EX_R9(r13)
 	ld	r10,PACA_EXRFI+EX_R10(r13)
 	ld	r11,PACA_EXRFI+EX_R11(r13)
-	ld	r12,PACA_EXRFI+EX_R12(r13)
-	ld	r8,PACA_EXRFI+EX_R13(r13)
 	GET_SCRATCH0(r13);
 	hrfid
 
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 9eb469bed22b..1d2712d628c3 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -902,19 +902,8 @@ static void init_fallback_flush(void)
 	memset(l1d_flush_fallback_area, 0, l1d_size * 2);
 
 	for_each_possible_cpu(cpu) {
-		/*
-		 * The fallback flush is currently coded for 8-way
-		 * associativity. Different associativity is possible, but it
-		 * will be treated as 8-way and may not evict the lines as
-		 * effectively.
-		 *
-		 * 128 byte lines are mandatory.
-		 */
-		u64 c = l1d_size / 8;
-
 		paca[cpu].rfi_flush_fallback_area = l1d_flush_fallback_area;
-		paca[cpu].l1d_flush_congruence = c;
-		paca[cpu].l1d_flush_sets = c / 128;
+		paca[cpu].l1d_flush_size = l1d_size;
 	}
 }
 
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index 5f0c17b043de..83619ebede93 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -2146,8 +2146,6 @@ static void dump_one_paca(int cpu)
 		printf(" slb_cache[%d]:        = 0x%016lx\n", i, p->slb_cache[i]);
 
 	DUMP(p, rfi_flush_fallback_area, "px");
-	DUMP(p, l1d_flush_congruence, "llx");
-	DUMP(p, l1d_flush_sets, "llx");
 #endif
 	DUMP(p, dscr_default, "llx");
 #ifdef CONFIG_PPC_BOOK3E
-- 
2.20.1


  parent reply	other threads:[~2019-04-21 14:21 UTC|newest]

Thread overview: 180+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-21 14:19 [PATCH stable v4.4 00/52] powerpc spectre backports for 4.4 Michael Ellerman
2019-04-21 14:19 ` Michael Ellerman
2019-04-21 14:19 ` [PATCH stable v4.4 01/52] powerpc/xmon: Add RFI flush related fields to paca dump Michael Ellerman
2019-04-21 14:19   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/xmon: Add RFI flush related fields to paca dump" has been added to the 4.4-stable tree gregkh
2019-04-21 14:19 ` Michael Ellerman [this message]
2019-04-21 14:19   ` [PATCH stable v4.4 02/52] powerpc/64s: Improve RFI L1-D cache flush fallback Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64s: Improve RFI L1-D cache flush fallback" has been added to the 4.4-stable tree gregkh
2019-04-21 14:19 ` [PATCH stable v4.4 03/52] powerpc/pseries: Support firmware disable of RFI flush Michael Ellerman
2019-04-21 14:19   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/pseries: Support firmware disable of RFI flush" has been added to the 4.4-stable tree gregkh
2019-04-21 14:19 ` [PATCH stable v4.4 04/52] powerpc/powernv: Support firmware disable of RFI flush Michael Ellerman
2019-04-21 14:19   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/powernv: Support firmware disable of RFI flush" has been added to the 4.4-stable tree gregkh
2019-04-21 14:19 ` [PATCH stable v4.4 05/52] powerpc/rfi-flush: Move the logic to avoid a redo into the debugfs code Michael Ellerman
2019-04-21 14:19   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/rfi-flush: Move the logic to avoid a redo into the debugfs code" has been added to the 4.4-stable tree gregkh
2019-04-21 14:19 ` [PATCH stable v4.4 06/52] powerpc/rfi-flush: Make it possible to call setup_rfi_flush() again Michael Ellerman
2019-04-21 14:19   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/rfi-flush: Make it possible to call setup_rfi_flush() again" has been added to the 4.4-stable tree gregkh
2019-04-21 14:19 ` [PATCH stable v4.4 07/52] powerpc/rfi-flush: Always enable fallback flush on pseries Michael Ellerman
2019-04-21 14:19   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/rfi-flush: Always enable fallback flush on pseries" has been added to the 4.4-stable tree gregkh
2019-04-21 14:19 ` [PATCH stable v4.4 08/52] powerpc/rfi-flush: Differentiate enabled and patched flush types Michael Ellerman
2019-04-21 14:19   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/rfi-flush: Differentiate enabled and patched flush types" has been added to the 4.4-stable tree gregkh
2019-04-21 14:19 ` [PATCH stable v4.4 09/52] powerpc/pseries: Add new H_GET_CPU_CHARACTERISTICS flags Michael Ellerman
2019-04-21 14:19   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/pseries: Add new H_GET_CPU_CHARACTERISTICS flags" has been added to the 4.4-stable tree gregkh
2019-04-21 14:19 ` [PATCH stable v4.4 10/52] powerpc/rfi-flush: Call setup_rfi_flush() after LPM migration Michael Ellerman
2019-04-21 14:19   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/rfi-flush: Call setup_rfi_flush() after LPM migration" has been added to the 4.4-stable tree gregkh
2019-04-21 14:19 ` [PATCH stable v4.4 11/52] powerpc: Add security feature flags for Spectre/Meltdown Michael Ellerman
2019-04-21 14:19   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc: Add security feature flags for Spectre/Meltdown" has been added to the 4.4-stable tree gregkh
2019-04-21 14:19 ` [PATCH stable v4.4 12/52] powerpc/pseries: Set or clear security feature flags Michael Ellerman
2019-04-21 14:19   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/pseries: Set or clear security feature flags" has been added to the 4.4-stable tree gregkh
2019-04-21 14:19 ` [PATCH stable v4.4 13/52] powerpc/powernv: Set or clear security feature flags Michael Ellerman
2019-04-21 14:19   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/powernv: Set or clear security feature flags" has been added to the 4.4-stable tree gregkh
2019-04-21 14:19 ` [PATCH stable v4.4 14/52] powerpc/64s: Move cpu_show_meltdown() Michael Ellerman
2019-04-21 14:19   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64s: Move cpu_show_meltdown()" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 15/52] powerpc/64s: Enhance the information in cpu_show_meltdown() Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64s: Enhance the information in cpu_show_meltdown()" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 16/52] powerpc/powernv: Use the security flags in pnv_setup_rfi_flush() Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/powernv: Use the security flags in pnv_setup_rfi_flush()" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 17/52] powerpc/pseries: Use the security flags in pseries_setup_rfi_flush() Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/pseries: Use the security flags in pseries_setup_rfi_flush()" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 18/52] powerpc/64s: Wire up cpu_show_spectre_v1() Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64s: Wire up cpu_show_spectre_v1()" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 19/52] powerpc/64s: Wire up cpu_show_spectre_v2() Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64s: Wire up cpu_show_spectre_v2()" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 20/52] powerpc/pseries: Fix clearing of security feature flags Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/pseries: Fix clearing of security feature flags" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 21/52] powerpc: Move default security feature flags Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc: Move default security feature flags" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 22/52] powerpc/pseries: Restore default security feature flags on setup Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/pseries: Restore default security feature flags on setup" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 23/52] powerpc/64s: Fix section mismatch warnings from setup_rfi_flush() Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64s: Fix section mismatch warnings from setup_rfi_flush()" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 24/52] powerpc/64s: Add support for a store forwarding barrier at kernel entry/exit Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64s: Add support for a store forwarding barrier at kernel entry/exit" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 25/52] powerpc/64s: Add barrier_nospec Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64s: Add barrier_nospec" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 26/52] powerpc/64s: Add support for ori barrier_nospec patching Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64s: Add support for ori barrier_nospec patching" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 27/52] powerpc/64s: Patch barrier_nospec in modules Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64s: Patch barrier_nospec in modules" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 28/52] powerpc/64s: Enable barrier_nospec based on firmware settings Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64s: Enable barrier_nospec based on firmware settings" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 29/52] powerpc/64: Use barrier_nospec in syscall entry Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64: Use barrier_nospec in syscall entry" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 30/52] powerpc: Use barrier_nospec in copy_from_user() Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc: Use barrier_nospec in copy_from_user()" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 31/52] powerpc/64s: Enhance the information in cpu_show_spectre_v1() Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64s: Enhance the information in cpu_show_spectre_v1()" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 32/52] powerpc64s: Show ori31 availability in spectre_v1 sysfs file not v2 Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc64s: Show ori31 availability in spectre_v1 sysfs file not v2" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 33/52] powerpc/64: Disable the speculation barrier from the command line Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64: Disable the speculation barrier from the command line" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 34/52] powerpc/64: Make stf barrier PPC_BOOK3S_64 specific Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64: Make stf barrier PPC_BOOK3S_64 specific." has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 35/52] powerpc/64: Add CONFIG_PPC_BARRIER_NOSPEC Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64: Add CONFIG_PPC_BARRIER_NOSPEC" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 36/52] powerpc/64: Call setup_barrier_nospec() from setup_arch() Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64: Call setup_barrier_nospec() from setup_arch()" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 37/52] powerpc/64: Make meltdown reporting Book3S 64 specific Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64: Make meltdown reporting Book3S 64 specific" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 38/52] powerpc/fsl: Add barrier_nospec implementation for NXP PowerPC Book3E Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/fsl: Add barrier_nospec implementation for NXP PowerPC Book3E" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 39/52] powerpc/asm: Add a patch_site macro & helpers for patching instructions Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/asm: Add a patch_site macro & helpers for patching instructions" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 40/52] powerpc/64s: Add new security feature flags for count cache flush Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64s: Add new security feature flags for count cache flush" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 41/52] powerpc/64s: Add support for software count cache flush Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/64s: Add support for software count cache flush" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 42/52] powerpc/pseries: Query hypervisor for count cache flush settings Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/pseries: Query hypervisor for count cache flush settings" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 43/52] powerpc/powernv: Query firmware for count cache flush settings Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/powernv: Query firmware for count cache flush settings" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 44/52] powerpc: Avoid code patching freed init sections Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc: Avoid code patching freed init sections" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 45/52] powerpc/fsl: Add infrastructure to fixup branch predictor flush Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/fsl: Add infrastructure to fixup branch predictor flush" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 46/52] powerpc/fsl: Add macro to flush the branch predictor Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/fsl: Add macro to flush the branch predictor" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 47/52] powerpc/fsl: Fix spectre_v2 mitigations reporting Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/fsl: Fix spectre_v2 mitigations reporting" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 48/52] powerpc/fsl: Add nospectre_v2 command line argument Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/fsl: Add nospectre_v2 command line argument" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 49/52] powerpc/fsl: Flush the branch predictor at each kernel entry (64bit) Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/fsl: Flush the branch predictor at each kernel entry (64bit)" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 50/52] powerpc/fsl: Update Spectre v2 reporting Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/fsl: Update Spectre v2 reporting" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 51/52] powerpc/security: Fix spectre_v2 reporting Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/security: Fix spectre_v2 reporting" has been added to the 4.4-stable tree gregkh
2019-04-21 14:20 ` [PATCH stable v4.4 52/52] powerpc/fsl: Fix the flush of branch predictor Michael Ellerman
2019-04-21 14:20   ` Michael Ellerman
2019-04-29  9:51   ` Patch "powerpc/fsl: Fix the flush of branch predictor." has been added to the 4.4-stable tree gregkh
2019-04-21 16:34 ` [PATCH stable v4.4 00/52] powerpc spectre backports for 4.4 Greg KH
2019-04-21 16:34   ` Greg KH
2019-04-22 15:27   ` Diana Madalina Craciun
2019-04-22 15:27     ` Diana Madalina Craciun
2019-04-24 13:48     ` Greg KH
2019-04-24 13:48       ` Greg KH
2019-04-28  6:17   ` Michael Ellerman
2019-04-28  6:17     ` Michael Ellerman
2019-04-29  6:26     ` Michael Ellerman
2019-04-29  6:26       ` Michael Ellerman
2019-04-29  7:03       ` Greg KH
2019-04-29  7:03         ` Greg KH
2019-04-29 11:56         ` Michael Ellerman
2019-04-29 11:56           ` Michael Ellerman
2019-04-22 15:32 ` Diana Madalina Craciun
2019-04-22 15:32   ` Diana Madalina Craciun
2019-04-28  6:20   ` Michael Ellerman
2019-04-28  6:20     ` Michael Ellerman
2019-04-29 15:52     ` Diana Madalina Craciun
2019-04-29 15:52       ` Diana Madalina Craciun
2019-04-29  9:43 ` Greg KH
2019-04-29  9:43   ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190421142037.21881-3-mpe@ellerman.id.au \
    --to=mpe@ellerman.id.au \
    --cc=christophe.leroy@c-s.fr \
    --cc=diana.craciun@nxp.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=msuchanek@suse.de \
    --cc=npiggin@gmail.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.