Pull scheduler updates from Ingo Molnar: - reorganize & clean up the SD* flags definitions and add a bunch of sanity checks. These new checks caught quite a few bugs or at least inconsistencies, resulting in another set of patches. - rseq updates, add MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ - add a new tracepoint to improve CPU capacity tracking - improve overloaded SMP system load-balancing behavior - tweak SMT balancing - energy-aware scheduling updates - NUMA balancing improvements - deadline scheduler fixes and improvements - CPU isolation fixes - misc cleanups, simplifications and smaller optimizations * tag 'sched-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (42 commits) sched/deadline: Unthrottle PI boosted threads while enqueuing sched/debug: Add new tracepoint to track cpu_capacity sched/fair: Tweak pick_next_entity() rseq/selftests: Test MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ rseq/selftests,x86_64: Add rseq_offset_deref_addv() rseq/membarrier: Add MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ sched/fair: Use dst group while checking imbalance for NUMA balancer sched/fair: Reduce busy load balance interval sched/fair: Minimize concurrent LBs between domain level sched/fair: Reduce minimal imbalance threshold sched/fair: Relax constraint on task's load during load balance sched/fair: Remove the force parameter of update_tg_load_avg() sched/fair: Fix wrong cpu selecting from isolated domain sched: Remove unused inline function uclamp_bucket_base_value() sched/rt: Disable RT_RUNTIME_SHARE by default sched/deadline: Fix stale throttling on de-/boosted tasks sched/numa: Use runnable_avg to classify node sched/topology: Move sd_flag_debug out of #ifdef CONFIG_SYSCTL MAINTAINERS: Add myself as SCHED_DEADLINE reviewer sched/topology: Move SD_DEGENERATE_GROUPS_MASK out of linux/sched/topology.h ...
Showing the changes to include/uapi (1 of 19 files). Show all
Unified · Split
| @@ -114,6 +114,26 @@ · 113 unmodified lines | ||
| 114 | 114 | * If this command is not implemented by an |
| 115 | 115 | * architecture, -EINVAL is returned. |
| 116 | 116 | * Returns 0 on success. |
| 117 | + * @MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ: | |
| 118 | + * Ensure the caller thread, upon return from | |
| 119 | + * system call, that all its running thread | |
| 120 | + * siblings have any currently running rseq | |
| 121 | + * critical sections restarted if @flags | |
| 122 | + * parameter is 0; if @flags parameter is | |
| 123 | + * MEMBARRIER_CMD_FLAG_CPU, | |
| 124 | + * then this operation is performed only | |
| 125 | + * on CPU indicated by @cpu_id. If this command is | |
| 126 | + * not implemented by an architecture, -EINVAL | |
| 127 | + * is returned. A process needs to register its | |
| 128 | + * intent to use the private expedited rseq | |
| 129 | + * command prior to using it, otherwise | |
| 130 | + * this command returns -EPERM. | |
| 131 | + * @MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ: | |
| 132 | + * Register the process intent to use | |
| 133 | + * MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ. | |
| 134 | + * If this command is not implemented by an | |
| 135 | + * architecture, -EINVAL is returned. | |
| 136 | + * Returns 0 on success. | |
| 117 | 137 | * @MEMBARRIER_CMD_SHARED: |
| 118 | 138 | * Alias to MEMBARRIER_CMD_GLOBAL. Provided for |
| 119 | 139 | * header backward compatibility. |
| @@ -131,9 +151,15 @@ enum membarrier_cmd { · 11 unmodified lines | ||
| 131 | 151 | MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = (1 << 4), |
| 132 | 152 | MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = (1 << 5), |
| 133 | 153 | MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = (1 << 6), |
| 154 | + MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = (1 << 7), | |
| 155 | + MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = (1 << 8), | |
| 134 | 156 | |
| 135 | 157 | /* Alias for header backward compatibility. */ |
| 136 | 158 | MEMBARRIER_CMD_SHARED = MEMBARRIER_CMD_GLOBAL, |
| 137 | 159 | }; |
| 138 | 160 | |
| 161 | +enum membarrier_cmd_flag { | |
| 162 | + MEMBARRIER_CMD_FLAG_CPU = (1 << 0), | |
| 163 | +}; | |
| 164 | + | |
| 139 | 165 | #endif /* _UAPI_LINUX_MEMBARRIER_H */ |