Message ID | 20221109045112.187069-1-bgray@linux.ibm.com (mailing list archive) |
---|---|
Headers | show |
Series | powerpc/code-patching: Use temporary mm for Radix MMU | expand |
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