Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1664024

[PATCH 4.9 016/119] sparc64: reset mm cpumask after wrap

From Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Newsgroups linux.kernel
Subject [PATCH 4.9 016/119] sparc64: reset mm cpumask after wrap
Date 2017-06-12 19:10 +0200
Message-ID <tRB0K-4VC-29@gated-at.bofh.it> (permalink)
References <tRzBD-3Tq-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


4.9-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Pavel Tatashin <pasha.tatashin@oracle.com>


[ Upstream commit 588974857359861891f478a070b1dc7ae04a3880 ]

After a wrap (getting a new context version) a process must get a new
context id, which means that we would need to flush the context id from
the TLB before running for the first time with this ID on every CPU. But,
we use mm_cpumask to determine if this process has been running on this CPU
before, and this mask is not reset after a wrap. So, there are two possible
fixes for this issue:

1. Clear mm cpumask whenever mm gets a new context id
2. Unconditionally flush context every time process is running on a CPU

This patch implements the first solution

Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>
Reviewed-by: Bob Picco <bob.picco@oracle.com>
Reviewed-by: Steven Sistare <steven.sistare@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/sparc/mm/init_64.c |    2 ++
 1 file changed, 2 insertions(+)

--- a/arch/sparc/mm/init_64.c
+++ b/arch/sparc/mm/init_64.c
@@ -710,6 +710,8 @@ void get_new_mmu_context(struct mm_struc
 			goto out;
 		}
 	}
+	if (mm->context.sparc64_ctx_val)
+		cpumask_clear(mm_cpumask(mm));
 	mmu_context_bmap[new_ctx>>6] |= (1UL << (new_ctx & 63));
 	new_ctx |= (tlb_context_cache & CTX_VERSION_MASK);
 out:

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 4.9 000/119] 4.9.32-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:00 +0200
  [PATCH 4.9 052/119] dmaengine: mv_xor_v2: set DMA mask to 40 bits Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:00 +0200
  [PATCH 4.9 048/119] dmaengine: mv_xor_v2: do not use descriptors not acked by async_tx Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:00 +0200
  [PATCH 4.9 055/119] ext4: fix SEEK_HOLE Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:00 +0200
  [PATCH 4.9 029/119] crypto: drbg - wait for crypto op not signal safe Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:00 +0200
  [PATCH 4.9 054/119] xen/privcmd: Support correctly 64KB page granularity when mapping memory Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:00 +0200
  [PATCH 4.9 023/119] serial: ifx6x60: fix use-after-free on module unload Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:00 +0200
  [PATCH 4.9 030/119] crypto: gcm - wait for crypto op not signal safe Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:00 +0200
  [PATCH 4.9 034/119] efi: Dont issue error message when booted under Xen Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:00 +0200
  [PATCH 4.9 005/119] tcp: disallow cwnd undo when switching congestion control Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:00 +0200
  [PATCH 4.9 017/119] sparc64: combine activate_mm and switch_mm Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:10 +0200
  [PATCH 4.9 013/119] sparc64: Add __multi3 for gcc 7.x and later. Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:10 +0200
  [PATCH 4.9 016/119] sparc64: reset mm cpumask after wrap Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:10 +0200
  [PATCH 4.9 011/119] net: stmmac: fix completely hung TX when using TSO Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:10 +0200
  [PATCH 4.9 001/119] bnx2x: Fix Multi-Cos Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:10 +0200
  [PATCH 4.9 010/119] net: ethoc: enable NAPI before poll may be scheduled Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:10 +0200
  [PATCH 4.9 018/119] sparc64: redefine first version Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:10 +0200
  [PATCH 4.9 020/119] sparc64: new context wrap Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-12 19:10 +0200
  Re: [PATCH 4.9 000/119] 4.9.32-stable review Guenter Roeck <linux@roeck-us.net> - 2017-06-13 00:00 +0200
    Re: [PATCH 4.9 000/119] 4.9.32-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-06-13 09:30 +0200
  Re: [PATCH 4.9 000/119] 4.9.32-stable review Shuah Khan <shuahkh@osg.samsung.com> - 2017-06-13 02:50 +0200

csiph-web