RFC Jump-based NMI-safe immediate values and markers for sched-devel.git
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest27 patches 15 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/27 | From: Adrian Bunk <[email protected]>kernel/ | +1 | 0 replies | |
| 2/27 | x86 NMI-safe INT3 and Page Faultarch/ arch/ include/ +4 more | +142 | 0 replies | |
| 3/27 | Check for breakpoint in text_poke to eliminate bug_onarch/ | +29 | 0 replies | |
| 4/27 | Kprobes - use a mutex to protect the instruction pages list.kernel/ | +21 | 0 replies | |
| 5/27 | Kprobes - do not use kprobes mutex in arch codearch/ arch/ arch/ +2 more | +0 | 0 replies | |
| 6/27 | Kprobes - declare kprobe_mutex statickernel/ | +1 | 0 replies | |
| 7/27 | Text Edit Lock - Architecture Independent Codeinclude/ mm/ | +41 | 0 replies | |
| 8/27 | Text Edit Lock - kprobes architecture independent supportkernel/ | +13 | 0 replies | |
| 9/27 | Add all cpus option to stop machine runinclude/ kernel/ | +31 | 0 replies | |
| 10/27 | Immediate Values - Architecture Independent Codeinclude/ include/ include/ +4 more | +320 | 0 replies | |
| 11/27 | Immediate Values - Kconfig menu in EMBEDDEDinit/ | +18 | 0 replies | |
| 12/27 | Immediate Values - x86 Optimizationarch/ include/ | +78 | 0 replies | |
| 13/27 | Add text_poke and sync_core to powerpcinclude/ | +3 | 0 replies | |
| 14/27 | Immediate Values - Powerpc Optimizationarch/ include/ | +56 | 0 replies | |
| 15/27 | Immediate Values - DocumentationDocumentation/ | +221 | 5 replies | |
| 16/27 | Immediate Values Support initDocumentation/ include/ include/ +6 more | +52 | 3 replies | |
| 17/27 | Scheduler Profiling - Use Immediate Valuesarch/ include/ kernel/ +1 more | +16 | 0 replies | |
| 18/27 | Markers - remove extra format argumentinclude/ kernel/ | +19 | 0 replies | |
| 19/27 | Markers - define non optimized markerinclude/ | +24 | 0 replies | |
| 20/27 | Immediate Values - Move Kprobes x86 restore_interrupt to kdebug.hinclude/ include/ | +12 | 0 replies | |
| 21/27 | Add __discard section to x86arch/ arch/ | +2 | 0 replies | |
| 22/27 | Immediate Values - x86 Optimization NMI and MCE supportarch/ arch/ arch/ +1 more | +339 | 0 replies | |
| 23/27 | Immediate Values - Powerpc Optimization NMI MCE supportarch/ arch/ include/ | +92 | 5 replies | |
| 24/27 | Immediate Values Use Arch NMI and MCE Supportinclude/ kernel/ | +3 | 0 replies | |
| 25/27 | Linux Kernel Markers - Use Immediate ValuesDocumentation/ include/ kernel/ +1 more | +32 | 0 replies | |
| 26/27 | Immediate Values - Jumparch/ include/ include/ +2 more | +359 | 2 replies | |
| 27/27 | Markers use imv jumpinclude/ | +1 | 0 replies |
Reviews trailers per patch
7 of 27 patches have a Reviewed-by or Acked-by.
| Patch | Mathieu Desnoyers | Ananth N Mavinakayanahalli | Masami Hiramatsu | H. Peter Anvin |
|---|---|---|---|---|
| 1/27 | A-b | |||
| 2/27 | ||||
| 3/27 | ||||
| 4/27 | A-b | A-b | ||
| 5/27 | A-b | A-b | ||
| 6/27 | A-b | A-b | ||
| 7/27 | ||||
| 8/27 | A-b | |||
| 9/27 | ||||
| 10/27 | ||||
| 11/27 | ||||
| 12/27 | ||||
| 13/27 | ||||
| 14/27 | ||||
| 15/27 | ||||
| 16/27 | ||||
| 17/27 | ||||
| 18/27 | ||||
| 19/27 | ||||
| 20/27 | A-b | |||
| 21/27 | A-b | |||
| 22/27 | ||||
| 23/27 | ||||
| 24/27 | ||||
| 25/27 | ||||
| 26/27 | ||||
| 27/27 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.
Cover letter [RFC patch 00/27] Jump-based NMI-safe immediate values and markers for sched-devel.git
Hi Ingo,
Here is the patchset you requested. I did not port the marker reintegration to your sched-devel tree though, because many changes happened since you have done the original work.
It applies on top of sched-devel.git latest.
You will notice that I implemented what we discussed yesterday : using nops and jump for the heavily optimized version of markers. Comments are welcome. Running this with my ~120 LTTng markers on x86_32 detects 97% of the sites. 4 out of 120 did had to fall back on the standard immediate values because they have been manipulated by gcc optimizations. The sched-devel.git port has been tested on x86_32. Patches before the port are tested on x86_32 and x86_64.
Note that some folding of the immediate values patches could eventually be required. At that point, add-all-cpus-option-to-stop-machine-run.patch would become useless.
The series order is the following :
make-marker_debug-static.patch # in -mm x86-nmi-safe-int3-and-page-fault.patch check-for-breakpoint-in-text-poke-to-eliminate-bug-on.patch #Kprobes mutex cleanup
kprobes-use-mutex-for-insn-pages.patch kprobes-dont-use-kprobes-mutex-in-arch-code.patch kprobes-declare-kprobes-mutex-static.patch
#Text Edit Lock (depends on Enhance DEBUG_RODATA and kprobes mutex cleanup) text-edit-lock-architecture-independent-code.patch text-edit-lock-kprobes-architecture-independent-support.patch
#
#Immediate Values
add-all-cpus-option-to-stop-machine-run.patch immediate-values-architecture-independent-code.patch immediate-values-kconfig-menu-in-embedded.patch immediate-values-x86-optimization.patch add-text-poke-and-sync-core-to-powerpc.patch immediate-values-powerpc-optimization.patch immediate-values-documentation.patch immediate-values-support-init.patch
#
scheduler-profiling-use-immediate-values.patch
#
markers-remove-extra-format-argument.patch markers-define-non-optimized-marker.patch
# immediate-values-move-kprobes-x86-restore-interrupt-to-kdebug-h.patch add-discard-section-to-x86.patch immediate-values-x86-optimization-nmi-mce-support.patch immediate-values-powerpc-optimization-nmi-mce-support.patch immediate-values-use-arch-nmi-mce-support.patch linux-kernel-markers-immediate-values.patch
#
immediate-values-jump.patch
markers-use-imv-jump.patch
Mathieu
Signature · 3 lines
Mathieu Desnoyers Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68