[Buildroot] [PATCH v2] package/schedtool: new package

Romain Naour romain.naour at openwide.fr
Fri Jul 10 22:08:09 UTC 2015


Hi Angelo,

Le 29/05/2015 10:46, Angelo Compagnucci a écrit :
> Schedtool is the definitive interface to Linux's scheduler.
> 
> Signed-off-by: Angelo Compagnucci <angelo.compagnucci at gmail.com>

Thanks for your patch.

The two syscall "__NR_sched_setattr" and "__NR_sched_getattr" has been defined
for most architectures since kernel 3.14 but schedtool redefine them for x86_64,
i386 and arm even if they are already available in linux/unistd.h...
(see syscall_magic.h)

So schedtool should depend on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 except for
microblaze (BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15), aarch64
(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17) and blackfin
(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1) otherwise it will break.

Obviously, it needs a kernel that implement these syscall.

Can you check if schedtool can really be used on these architectures.

Best regards,
Romain Naour

> ---
> Changes v1 -> v2:
>  - switched to TARGET_CONFIGURE_OPTS
>  - fixed license
> 
>  package/Config.in              |  1 +
>  package/schedtool/Config.in    | 10 ++++++++++
>  package/schedtool/schedtool.mk | 20 ++++++++++++++++++++
>  3 files changed, 31 insertions(+)
>  create mode 100644 package/schedtool/Config.in
>  create mode 100644 package/schedtool/schedtool.mk
> 
> diff --git a/package/Config.in b/package/Config.in
> index 6661240..35f02e5 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1414,6 +1414,7 @@ endif
>  if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
>  	source "package/rsyslog/Config.in"
>  endif
> +	source "package/schedtool/Config.in"
>  	source "package/smack/Config.in"
>  if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
>  	source "package/start-stop-daemon/Config.in"
> diff --git a/package/schedtool/Config.in b/package/schedtool/Config.in
> new file mode 100644
> index 0000000..928a02e
> --- /dev/null
> +++ b/package/schedtool/Config.in
> @@ -0,0 +1,10 @@
> +config BR2_PACKAGE_SCHEDTOOL
> +	bool "schedtool"
> +	help
> +	  schedtool was born, because there was no tool to change or query
> +	  all CPU-scheduling policies under Linux, in one handy command.
> +	  Support for CPU-affinity has also been added and most recently
> +	  (re-)nicing of processes.
> +	  Thus, schedtool is the definitive interface to Linux's scheduler.
> +
> +	  https://github.com/jlelli/schedtool-dl
> diff --git a/package/schedtool/schedtool.mk b/package/schedtool/schedtool.mk
> new file mode 100644
> index 0000000..481ecc0
> --- /dev/null
> +++ b/package/schedtool/schedtool.mk
> @@ -0,0 +1,20 @@
> +################################################################################
> +#
> +# schedtool
> +#
> +################################################################################
> +
> +SCHEDTOOL_VERSION = 3ffb479929c31cbae09de08f94f58b8f0f061d91
> +SCHEDTOOL_SITE = $(call github,jlelli,schedtool-dl,$(SCHEDTOOL_VERSION))
> +SCHEDTOOL_LICENSE = GPLv2
> +SCHEDTOOL_LICENSE_FILES = LICENSE
> +
> +define SCHEDTOOL_BUILD_CMDS
> +	$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all
> +endef
> +
> +define SCHEDTOOL_INSTALL_TARGET_CMDS
> +	$(INSTALL) -D -m 0755 $(@D)/schedtool $(TARGET_DIR)/usr/bin
> +endef
> +
> +$(eval $(generic-package))
> 



More information about the buildroot mailing list