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 | * If this command is not implemented by an | 114 | * If this command is not implemented by an |
| 115 | * architecture, -EINVAL is returned. | 115 | * architecture, -EINVAL is returned. |
| 116 | * Returns 0 on success. | 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 | * @MEMBARRIER_CMD_SHARED: | 137 | * @MEMBARRIER_CMD_SHARED: |
| 118 | * Alias to MEMBARRIER_CMD_GLOBAL. Provided for | 138 | * Alias to MEMBARRIER_CMD_GLOBAL. Provided for |
| 119 | * header backward compatibility. | 139 | * header backward compatibility. |
| @@ -131,9 +151,15 @@ enum membarrier_cmd { · 11 unmodified lines | |||
| 131 | MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = (1 << 4), | 151 | MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = (1 << 4), |
| 132 | MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = (1 << 5), | 152 | MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = (1 << 5), |
| 133 | MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = (1 << 6), | 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 | /* Alias for header backward compatibility. */ | 157 | /* Alias for header backward compatibility. */ |
| 136 | MEMBARRIER_CMD_SHARED = MEMBARRIER_CMD_GLOBAL, | 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 | #endif /* _UAPI_LINUX_MEMBARRIER_H */ | 165 | #endif /* _UAPI_LINUX_MEMBARRIER_H */ |