mm: preemptibility -v3
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest28 patches 19 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/28 | powerpc: Use call_rcu_sched() for pagetablesarch/ | +1 | 0 replies | |
| 2/28 | mm: Improve page_lock_anon_vma() commentmm/ | +16 | 1 reply | |
| 3/28 | rename anon_vma_lock to vma_lock_anon_vmainclude/ mm/ | +8 | 2 replies | |
| 4/28 | change direct call of spin_lock(anon_vma->lock) to inline functioninclude/ mm/ mm/ +2 more | +31 | 0 replies | |
| 5/28 | track the root (oldest) anon_vmainclude/ mm/ | +17 | 0 replies | |
| 6/28 | always lock the root (oldest) anon_vmainclude/ mm/ mm/ +1 more | +28 | 0 replies | |
| 7/28 | extend KSM refcounts to the anon_vma rootinclude/ mm/ mm/ +1 more | +68 | 1 reply | |
| 8/28 | mm: Rename drop_anon_vma to put_anon_vmainclude/ mm/ mm/ +1 more | +10 | 0 replies | |
| 9/28 | mm: Move anon_vma ref out from under CONFIG_KSMinclude/ mm/ | +8 | 1 reply | |
| 10/28 | mm: Make use of the anon_vma ref countinclude/ mm/ mm/ | +52 | 2 replies | |
| 11/28 | mm: Preemptible mmu_gatherfs/ include/ include/ +2 more | +53 | 0 replies | |
| 12/28 | powerpc: Preemptible mmu_gatherarch/ arch/ arch/ +5 more | +46 | 0 replies | |
| 13/28 | sparc: Preemptible mmu_gatherarch/ arch/ arch/ +2 more | +51 | 0 replies | |
| 14/28 | s390: preemptible mmu_gatherarch/ | +25 | 0 replies | |
| 15/28 | arm: Preemptible mmu_gatherarch/ | +2 | 0 replies | |
| 16/28 | sh: Preemptible mmu_gatherarch/ | +2 | 1 reply | |
| 17/28 | um: Preemptible mmu_gatherarch/ | +2 | 0 replies | |
| 18/28 | ia64: Preemptible mmu_gatherarch/ | +25 | 0 replies | |
| 19/28 | mm, powerpc: Move the RCU page-table freeing into generic codearch/ arch/ arch/ +5 more | +150 | 0 replies | |
| 20/28 | sparc64: Kill page table quicklists.arch/ arch/ arch/ | +26 | 0 replies | |
| 21/28 | sparc64: Use RCU page table freeing.arch/ | +47 | 0 replies | |
| 22/28 | sparc64: Add support for _PAGE_SPECIALarch/ | +11 | 0 replies | |
| 23/28 | sparc64: Implement get_user_pages_fast().arch/ arch/ | +182 | 0 replies | |
| 24/28 | lockdep, mutex: Provide mutex_lock_nest_lockinclude/ include/ kernel/ | +29 | 0 replies | |
| 25/28 | mutex: Provide mutex_is_contendedinclude/ | +5 | 0 replies | |
| 26/28 | mm: Convert i_mmap_lock and anon_vma->lock to mutexesarch/ fs/ fs/ +14 more | +58 | 0 replies | |
| 27/28 | mm: Extended batches for generic mmu_gatherinclude/ | +82 | 0 replies | |
| 28/28 | mm: Optimize page_lock_anon_vma() fast-pathmm/ | +61 | 0 replies |
Reviews trailers per patch
6 of 28 patches have a Reviewed-by or Acked-by.
| Patch | Mel Gorman | KAMEZAWA Hiroyuki | David Miller | Nick Piggin | KOSAKI Motohiro |
|---|---|---|---|---|---|
| 1/28 | |||||
| 2/28 | A-b | R-b | |||
| 3/28 | A-b | A-b | |||
| 4/28 | A-b | A-b | |||
| 5/28 | A-b | A-b | |||
| 6/28 | |||||
| 7/28 | A-b | ||||
| 8/28 | |||||
| 9/28 | A-b | ||||
| 10/28 | |||||
| 11/28 | |||||
| 12/28 | |||||
| 13/28 | |||||
| 14/28 | |||||
| 15/28 | |||||
| 16/28 | |||||
| 17/28 | |||||
| 18/28 | |||||
| 19/28 | Requested-by | ||||
| 20/28 | |||||
| 21/28 | |||||
| 22/28 | |||||
| 23/28 | |||||
| 24/28 | |||||
| 25/28 | |||||
| 26/28 | |||||
| 27/28 | Requested-by | ||||
| 28/28 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 5 reviewers.
Cover letter [PATCH 00/28] mm: preemptibility -v3
This patch-set makes part of the mm a lot more preemptible. It converts i_mmap_lock and anon_vma->lock to mutexes and makes mmu_gather fully preemptible.
The main motivation was making mm_take_all_locks() preemptible, since it appears people are nesting hundreds of spinlocks there.
The side-effects are that can finally make mmu_gather preemptible, something which lots of people have wanted to do for a long time.
It also gets us anon_vma refcounting, which seems to result in a nice cleanup of the anon_vma lifetime rules wrt KSM and compaction.
This patch-set it build and boot-tested on x86_64 (a previous version was also tested on Dave's Niagra2 machines, and I suppose s390 did too when Martin provided the conversion patch for his arch).
There are no known architectures left unconverted, although some arch code never did see a compiler (superh and um come to mind).
Can we move this work forwards, or is there anything people would want to see done?
[ The series includes Rik's latest patches to the same area for convenience ]