Re: [PATCH v16 0/5] PCI devices passthrough on Arm, part 3

2025-03-02 Thread Stewart Hildebrand
On 2/28/25 09:40, Mykyta Poturai wrote: > On 23.05.24 01:59, Stewart Hildebrand wrote: >> This is next version of vPCI rework. Aim of this series is to prepare >> ground for introducing PCI support on ARM platform. >> >> in v16: >> - minor updates - see individual patches >> >> in v15: >> - reo

[PATCH v1 4/4] Revert "x86/xen: allow nesting of same lazy mode"

2025-03-02 Thread Ryan Roberts
Commit 49147beb0ccb ("x86/xen: allow nesting of same lazy mode") was added as a solution for a core-mm code change where arch_[enter|leave]_lazy_mmu_mode() started to be called in a nested manner; see commit bcc6cc832573 ("mm: add default definition of set_ptes()"). However, now that we have fixed

[PATCH v1 0/4] Fix lazy mmu mode

2025-03-02 Thread Ryan Roberts
Hi All, I'm planning to implement lazy mmu mode for arm64 to optimize vmalloc. As part of that, I will extend lazy mmu mode to cover kernel mappings in vmalloc table walkers. While lazy mmu mode is already used for kernel mappings in a few places, this will extend it's use significantly. Having r

[PATCH v1 3/4] sparc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes

2025-03-02 Thread Ryan Roberts
With commit 1a10a44dfc1d ("sparc64: implement the new page table range API") set_ptes was added to the sparc architecture. The implementation included calling arch_enter/leave_lazy_mmu() calls. The patch removes the usage of arch_enter/leave_lazy_mmu() since this implies nesting of lazy mmu region

[PATCH v1 2/4] sparc/mm: Disable preemption in lazy mmu mode

2025-03-02 Thread Ryan Roberts
Since commit 38e0edb15bd0 ("mm/apply_to_range: call pte function with lazy updates") it's been possible for arch_[enter|leave]_lazy_mmu_mode() to be called without holding a page table lock (for the kernel mappings case), and therefore it is possible that preemption may occur while in the lazy mmu

[PATCH v1 1/4] mm: Fix lazy mmu docs and usage

2025-03-02 Thread Ryan Roberts
The docs, implementations and use of arch_[enter|leave]_lazy_mmu_mode() is a bit of a mess (to put it politely). There are a number of issues related to nesting of lazy mmu regions and confusion over whether the task, when in a lazy mmu region, is preemptible or not. Fix all the issues relating to