[PATCH v10 0/9] powerpc/code-patching: Use temporary mm for Radix MMU

Michael Ellerman patch-notifications at ellerman.id.au
Thu Dec 8 23:39:43 AEDT 2022


On Wed, 9 Nov 2022 15:51:03 +1100, Benjamin Gray wrote:
> This is a revision of Chris and Jordan's series to introduce a per-cpu temporary
> mm to be used for patching with strict rwx on radix mmus.
> 
> v10:	* Don't set poking_init_enabled on boot CPU init failure
> 	* Remove extern from functions in files touched by this series
> 	* Changed book3s/32/tlbflush.h stub body from warning to build bug
> 	* Remove empty hash__ set of functions. Also removed the ones that are
> 	  just warnings (would have preferred to make them build bugs, but they
> 	  blocked the build even though it's all inline inside a radix_enabled()
> 	  if-block).
> 	  	- It's not possible to use the radix specific necessary TLB flush
> 		  in code patching, as code-patching.c is compiled even when radix__*
> 		  functions aren't visible. #ifdefs would be required.
> 		  The cxl usage required radix__* be visible anyway, so there is no
> 		  compile issue.
> 	* Mention cache benefits of struct of patching context variables
> 	* Don't open-code mm init and teardown. It seems tlb_gather_mmu does
> 	  the necessary steps to detect page table pages to free, so it should
> 	  not leak. get_locked_pte() is used over __get_locked_pte() because I
> 	  don't know what makes the double-underscore function dangerous.
> 
> [...]

Patches 1-2 and 4-9 applied to powerpc/next.

[1/9] powerpc: Allow clearing and restoring registers independent of saved breakpoint state
      https://git.kernel.org/powerpc/c/3671f4ebe3eb12e7222e4d7b0f94e85cfe34253a
[2/9] powerpc/code-patching: Use WARN_ON and fix check in poking_init
      https://git.kernel.org/powerpc/c/071c95c1acbd96e76bab8b25b5cad0d71a011f37
[4/9] powerpc/mm: Remove empty hash__ functions
      https://git.kernel.org/powerpc/c/baf1ed24b27db475b38f534953885d0425e2232d
[5/9] cxl: Use radix__flush_all_mm instead of generic flush_all_mm
      https://git.kernel.org/powerpc/c/0f0a0a6091e678b1a75078ecd6b02176f3228dbb
[6/9] powerpc/mm: Remove flush_all_mm, local_flush_all_mm
      https://git.kernel.org/powerpc/c/d34471c9bd5d47ab148dd68817631a4238f755c4
[7/9] powerpc/tlb: Add local flush for page given mm_struct and psize
      https://git.kernel.org/powerpc/c/274d842fa1efd9449e62222c8896e0be11621f1f
[8/9] powerpc/code-patching: Use temporary mm for Radix MMU
      https://git.kernel.org/powerpc/c/c28c15b6d28a776538482101522cbcd9f906b15c
[9/9] powerpc/code-patching: Consolidate and cache per-cpu patching context
      https://git.kernel.org/powerpc/c/2f228ee1ade5d8d1f26cf94863a36c5693023c58

cheers


More information about the Linuxppc-dev mailing list