[lkml]   [2020]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[patch part-II V2 00/13] x86/entry: Consolidation - Part II (syscalls)

This is the second version of the syscall entry code consolidation
series. V1 can be found here:

It applies on top of

git:// x86/entry

and is also available from git:

git:// entry-v2-part2

The changes vs. V1:

- Addressed the review comments. The main change is the rework of
preparing the move of interrupt tracing to C-code. The new version
creates less churn which needs to be mopped up afterwards again.

- Provide new variants for trace_hardirqs_on() which are not using
the rcuidle tracepoint mechanism and do not call into lockdep.

This allows to split up lockdep and tracing in the enter from user and
exit to user implementation.

Aside of addressing the rcuidle issue of functions attached to
tracepoints which are not rcuidle safe, e.g. BPF, this also has a
performance advantage as it spares the srcu/rcu_irq dance around the
tracepoint before enter_from_user_mode() which turns RCU back on
anyway. Same on the way out.

- Picked up Reviewed-by and Acked-by tags


arch/x86/entry/common.c | 106 +++++++++++++++++++++++++--------
arch/x86/entry/entry_32.S | 26 +-------
arch/x86/entry/entry_64.S | 6 -
arch/x86/entry/entry_64_compat.S | 32 +--------
arch/x86/include/asm/nospec-branch.h | 4 -
include/linux/context_tracking.h | 14 ++--
include/linux/context_tracking_state.h | 6 -
include/linux/irqflags.h | 4 +
kernel/context_tracking.c | 9 +-
kernel/trace/trace_preemptirq.c | 23 +++++++
10 files changed, 136 insertions(+), 94 deletions(-)

 \ /
  Last update: 2020-03-09 00:26    [W:0.248 / U:1.716 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site