util-linux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/5] Add a new uclampset utility
@ 2021-01-30 20:50 Qais Yousef
  2021-01-30 20:50 ` [PATCH v2 1/5] Move sched_attr struct and syscall definitions into header file Qais Yousef
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Qais Yousef @ 2021-01-30 20:50 UTC (permalink / raw)
  To: util-linux
  Cc: Karel Zak, Bernhard Voelker, Peter Zijlstra (Intel),
	Vincent Guittot, Dietmar Eggemann, Patrick Bellasi,
	Vincent Donnefort, Qais Yousef

Changes in v2 (thanks for all reviewers!):

	* Better error handling of invalid options.
	* Expose the special -1 value to reset to system default.
	* Add new --reset-on-fork option.
	* Move sched_attr.h out of include directory to avoid licensing issues.
	* Use pathnames.h for new procfs defines.
	* Use common functions to get command name and handle procfs
	  read/write.
	* Remove --max option and document in help message.
	* Improve help message formatting.
	* Minor manpage tweaks.

A branch of the changes is available at

	git clone https://github.com/qais-yousef/util-linux -b uclampset-v2

Karel, I compiled this v2 on an old Ubuntu 18.04 machine running v4.15 kernel
and didn't see any compilation errors. chrt worked fine and uclampset returns
EINVAL errors as expected. I don't think we need to do anything to deal with
compiling against old kernel headers.


Orignal cover letter
====================

Since kernel v5.3 we have a new feature called utilization clamping that allows
influencing the utilization signals of a task, ultimately influencing the
performance of these tasks.

The series adds a new utility called uclampset that allows the user to
manipulate util clamp (or uclamp for short) for existing running processes or
when running a new command; in a similar spirit to how taskset and chrt
currently work.

Peter/Dietmar/Vincent/Patrick; reviewing the manpage (patch 3) to make sure it
explains this feature right would be much appreciated.

Thanks

--
Qais Yousef

Qais Yousef (5):
  Move sched_attr struct and syscall definitions into header file
  Add uclampset schedutil
  uclampset: Add man page
  uclampset: Plump into the build system
  uclampset: Plumb in bash-completion

 .gitignore                    |   1 +
 bash-completion/Makemodule.am |   3 +
 bash-completion/uclampset     |  39 ++++
 configure.ac                  |   9 +
 include/pathnames.h           |   4 +
 schedutils/Makemodule.am      |   7 +
 schedutils/chrt.c             |  77 +-------
 schedutils/sched_attr.h       | 127 +++++++++++++
 schedutils/uclampset.1        | 174 ++++++++++++++++++
 schedutils/uclampset.c        | 337 ++++++++++++++++++++++++++++++++++
 10 files changed, 702 insertions(+), 76 deletions(-)
 create mode 100644 bash-completion/uclampset
 create mode 100644 schedutils/sched_attr.h
 create mode 100644 schedutils/uclampset.1
 create mode 100644 schedutils/uclampset.c

-- 
2.25.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-02-02 16:44 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-30 20:50 [PATCH v2 0/5] Add a new uclampset utility Qais Yousef
2021-01-30 20:50 ` [PATCH v2 1/5] Move sched_attr struct and syscall definitions into header file Qais Yousef
2021-01-30 20:50 ` [PATCH v2 2/5] Add uclampset schedutil Qais Yousef
2021-02-01 16:12   ` Karel Zak
2021-02-01 17:32     ` Qais Yousef
2021-02-02  8:01       ` Karel Zak
2021-02-02 11:02         ` Qais Yousef
2021-02-02 15:40           ` Karel Zak
2021-02-02 16:29             ` Qais Yousef
2021-01-30 20:50 ` [PATCH v2 3/5] uclampset: Add man page Qais Yousef
2021-01-30 20:50 ` [PATCH v2 4/5] uclampset: Plump into the build system Qais Yousef
2021-01-30 20:50 ` [PATCH v2 5/5] uclampset: Plumb in bash-completion Qais Yousef

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).