History

Merge tag 'sched-core-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler updates from Ingo Molnar: - Improve the scalability of the CFS bandwidth unthrottling logic with large number of CPUs. - Fix & rework various cpuidle routines, simplify interaction with the generic scheduler code. Add __cpuidle methods as noinstr to objtool's noinstr detection and fix boatloads of cpuidle bugs & quirks. - Add new ABI: introduce MEMBARRIER_CMD_GET_REGISTRATIONS, to query previously issued registrations. - Limit scheduler slice duration to the sysctl_sched_latency period, to improve scheduling granularity with a large number of SCHED_IDLE tasks. - Debuggability enhancement on sys_exit(): warn about disabled IRQs, but also enable them to prevent a cascade of followup problems and repeat warnings. - Fix the rescheduling logic in prio_changed_dl(). - Micro-optimize cpufreq and sched-util methods. - Micro-optimize ttwu_runnable() - Micro-optimize the idle-scanning in update_numa_stats(), select_idle_capacity() and steal_cookie_task(). - Update the RSEQ code & self-tests - Constify various scheduler methods - Remove unused methods - Refine __init tags - Documentation updates - Misc other cleanups, fixes * tag 'sched-core-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (110 commits) sched/rt: pick_next_rt_entity(): check list_entry sched/deadline: Add more reschedule cases to prio_changed_dl() sched/fair: sanitize vruntime of entity being placed sched/fair: Remove capacity inversion detection sched/fair: unlink misfit task from cpu overutilized objtool: mem*() are not uaccess safe cpuidle: Fix poll_idle() noinstr annotation sched/clock: Make local_clock() noinstr sched/clock/x86: Mark sched_clock() noinstr x86/pvclock: Improve atomic update of last_value in pvclock_clocksource_read() x86/atomics: Always inline arch_atomic64*() cpuidle: tracing, preempt: Squash _rcuidle tracing cpuidle: tracing: Warn about !rcu_is_watching() cpuidle: lib/bug: Disable rcu_is_watching() during WARN/BUG cpuidle: drivers: firmware: psci: Dont instrument suspend code KVM: selftests: Fix build of rseq test exit: Detect and fix irq disabled state in oops cpuidle, arm64: Fix the ARM64 cpuidle logic cpuidle: mvebu: Fix duplicate flags assignment sched/fair: Limit sched slice duration ...

Linus Torvalds committed 3 years ago

Commit 1f2d9ff2 parents a2f0e7e 7c4a5b8211 files · +6782 −5504Browse files

Showing the changes to include/uapi/linux (3 of 211 files). Show all

Unified · Split

3 files
  1. include/uapi/linux/auxvec.h +2 −0
  2. include/uapi/linux/membarrier.h +4 −0
  3. include/uapi/linux/rseq.h +22 −0
include/uapi/linux/auxvec.h+2−0
@@ -30,6 +30,8 @@ · 29 unmodified lines
30 * differ from AT_PLATFORM. */30 * differ from AT_PLATFORM. */
31#define AT_RANDOM 25 /* address of 16 random bytes */31#define AT_RANDOM 25 /* address of 16 random bytes */
32#define AT_HWCAP2 26 /* extension of AT_HWCAP */32#define AT_HWCAP2 26 /* extension of AT_HWCAP */
33#define AT_RSEQ_FEATURE_SIZE 27 /* rseq supported feature size */
34#define AT_RSEQ_ALIGN 28 /* rseq allocation alignment */
33 35
34#define AT_EXECFN 31 /* filename of program */36#define AT_EXECFN 31 /* filename of program */
35 37
include/uapi/linux/membarrier.h+4−0
@@ -137,6 +137,9 @@ · 136 unmodified lines
137 * @MEMBARRIER_CMD_SHARED:137 * @MEMBARRIER_CMD_SHARED:
138 * Alias to MEMBARRIER_CMD_GLOBAL. Provided for138 * Alias to MEMBARRIER_CMD_GLOBAL. Provided for
139 * header backward compatibility.139 * header backward compatibility.
140 * @MEMBARRIER_CMD_GET_REGISTRATIONS:
141 * Returns a bitmask of previously issued
142 * registration commands.
140 *143 *
141 * Command to be passed to the membarrier system call. The commands need to144 * Command to be passed to the membarrier system call. The commands need to
142 * be a single bit each, except for MEMBARRIER_CMD_QUERY which is assigned to145 * be a single bit each, except for MEMBARRIER_CMD_QUERY which is assigned to
@@ -153,6 +156,7 @@ enum membarrier_cmd { · 10 unmodified lines
153 MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = (1 << 6),156 MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = (1 << 6),
154 MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = (1 << 7),157 MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = (1 << 7),
155 MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = (1 << 8),158 MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = (1 << 8),
159 MEMBARRIER_CMD_GET_REGISTRATIONS = (1 << 9),
156 160
157 /* Alias for header backward compatibility. */161 /* Alias for header backward compatibility. */
158 MEMBARRIER_CMD_SHARED = MEMBARRIER_CMD_GLOBAL,162 MEMBARRIER_CMD_SHARED = MEMBARRIER_CMD_GLOBAL,
include/uapi/linux/rseq.h+22−0
@@ -130,6 +130,28 @@ struct rseq { · 129 unmodified lines
130 * this thread.130 * this thread.
131 */131 */
132 __u32 flags;132 __u32 flags;
133
134 /*
135 * Restartable sequences node_id field. Updated by the kernel. Read by
136 * user-space with single-copy atomicity semantics. This field should
137 * only be read by the thread which registered this data structure.
138 * Aligned on 32-bit. Contains the current NUMA node ID.
139 */
140 __u32 node_id;
141
142 /*
143 * Restartable sequences mm_cid field. Updated by the kernel. Read by
144 * user-space with single-copy atomicity semantics. This field should
145 * only be read by the thread which registered this data structure.
146 * Aligned on 32-bit. Contains the current thread's concurrency ID
147 * (allocated uniquely within a memory map).
148 */
149 __u32 mm_cid;
150
151 /*
152 * Flexible array member at end of structure, after last feature field.
153 */
154 char end[];
133} __attribute__((aligned(4 * sizeof(__u64))));155} __attribute__((aligned(4 * sizeof(__u64))));
134 156
135#endif /* _UAPI_LINUX_RSEQ_H */157#endif /* _UAPI_LINUX_RSEQ_H */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t