Message ID | 20230525215103.37218-3-svromanov@sberdevices.ru |
---|---|
State | Changes Requested |
Headers | show |
Series | Added package: 'sysbench' and its dependency: 'ck'. | expand |
Hello Sergey, On Fri, 26 May 2023 00:51:03 +0300 Sergey Romanov via buildroot <buildroot@buildroot.org> wrote: > diff --git a/package/sysbench/Config.in b/package/sysbench/Config.in > new file mode 100644 > index 0000000000..a8377b5bfd > --- /dev/null > +++ b/package/sysbench/Config.in > @@ -0,0 +1,28 @@ > +config BR2_PACKAGE_SYSBENCH > + bool "sysbench" > + select BR2_PACKAGE_LUAJIT > + select BR2_PACKAGE_CK You need to replicate the dependencies of those options, so: depends on !BR2_STATIC_LIBS # luajit depends on !BR2_PACKAGE_LUA # luajit depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS # luajit depends on !BR2_TOOLCHAIN_USES_UCLIBC # ck > + help > + This benchmark was designed for identifying basic > + system parameters, as they are important for system > + using MySQL (w Innodb) under intensive load. > + Handling of IO in case of many parallel requests, > + checked as well as memory allocation/transfer > + speed and scheduler performance. > + CPU is benchmarked by using 64bit integer manipulation > + using Euklid algorithms for prime number computation. > + Benchmarks are designed to show benefit of multiple > + CPUs as well as of multiple hard drives, > + battery backed up write cache. The wrapping of those lines look really weird. Can you ask your text editor to wrap this automatically, and get some more consistent wrapping? > + > + https://github.com/akopytov/sysbench.git > + > +if BR2_PACKAGE_SYSBENCH > + > +config BR2_PACKAGE_SYSBENCH_WITH_MYSQL > + bool "configure with mysql" > + select BR2_PACKAGE_MYSQL > + help > + Configure with mysql You can drop this option and test BR2_PACKAGE_MYSQL in the .mk file. > diff --git a/package/sysbench/sysbench.mk b/package/sysbench/sysbench.mk > new file mode 100644 > index 0000000000..748014f564 > --- /dev/null > +++ b/package/sysbench/sysbench.mk > @@ -0,0 +1,30 @@ > +################################################################################ > +# > +# SYSBENCH > +# > +################################################################################ > + > +SYSBENCH_VERSION = 1.0.20 > +SYSBENCH_SITE = $(call github,akopytov,sysbench,$(SYSBENCH_VERSION)) > +SYSBENCH_LICENSE = GPLv2 GPL-2.0, not GPLv2. But from a quick look at the code, it seems like the license is actually GPL-2.0+. > +SYSBENCH_LICENSE_FILES = COPYING > + > +SYSBENCH_AUTORECONF = YES > + > +SYSBENCH_DEPENDENCIES = host-pkgconf > +SYSBENCH_DEPENDENCIES += ck > +SYSBENCH_DEPENDENCIES += luajit Please change to: SYSBENCH_DEPENDENCIES = host-pkgconf ck luajit > +SYSBENCH_CONF_OPTS += --without-lib-prefix > +SYSBENCH_CONF_OPTS += --with-system-luajit > +SYSBENCH_CONF_OPTS += --with-system-ck Please change to: SYSBENCH_CONF_OPTS = \ --without-lib-prefix \ --with-system-luajit \ --with-system-ck > + > +ifneq ($(BR2_PACKAGE_SYSBENCH_WITH_MYSQL), y) > +SYSBENCH_CONF_OPTS += --without-mysql > +else > +SYSBENCH_DEPENDENCIES += mysql > +SYSBENCH_CONF_OPTS += --with-mysql-includes=$(STAGING_DIR)/usr/include/mysql > +SYSBENCH_CONF_OPTS += --with-mysql-libs=$(STAGING_DIR)/usr/lib > +endif Please change to: ifeq ($(BR2_PACKAGE_MYSQL),y) SYSBENCH_DEPENDENCIES += mysql SYSBENCH_CONF_OPTS += \ --with-mysql \ --with-mysql-includes=$(STAGING_DIR)/usr/include/mysql \ --with-mysql-libs=$(STAGING_DIR)/usr/lib else SYSBENCH_CONF_OPTS += --without-mysql endif Could you rework this and send a v2? Thanks a lot! Thomas
diff --git a/DEVELOPERS b/DEVELOPERS index 4accefb251..d48cbbd145 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2628,6 +2628,7 @@ F: package/xr819-xradio/ N: Sergey Romanov <svromanov@sberdevices.ru> F: package/ck/ +F: package/sysbench/ N: Sergio Prado <sergio.prado@e-labworks.com> F: board/toradex/apalis-imx6/ diff --git a/package/Config.in b/package/Config.in index c81ddc81f6..0004f71846 100644 --- a/package/Config.in +++ b/package/Config.in @@ -152,6 +152,7 @@ menu "Debugging, profiling and benchmark" source "package/strace/Config.in" source "package/stress/Config.in" source "package/stress-ng/Config.in" + source "package/sysbench/Config.in" source "package/sysdig/Config.in" source "package/sysprof/Config.in" source "package/tcf-agent/Config.in" diff --git a/package/sysbench/Config.in b/package/sysbench/Config.in new file mode 100644 index 0000000000..a8377b5bfd --- /dev/null +++ b/package/sysbench/Config.in @@ -0,0 +1,28 @@ +config BR2_PACKAGE_SYSBENCH + bool "sysbench" + select BR2_PACKAGE_LUAJIT + select BR2_PACKAGE_CK + help + This benchmark was designed for identifying basic + system parameters, as they are important for system + using MySQL (w Innodb) under intensive load. + Handling of IO in case of many parallel requests, + checked as well as memory allocation/transfer + speed and scheduler performance. + CPU is benchmarked by using 64bit integer manipulation + using Euklid algorithms for prime number computation. + Benchmarks are designed to show benefit of multiple + CPUs as well as of multiple hard drives, + battery backed up write cache. + + https://github.com/akopytov/sysbench.git + +if BR2_PACKAGE_SYSBENCH + +config BR2_PACKAGE_SYSBENCH_WITH_MYSQL + bool "configure with mysql" + select BR2_PACKAGE_MYSQL + help + Configure with mysql + +endif diff --git a/package/sysbench/sysbench.hash b/package/sysbench/sysbench.hash new file mode 100644 index 0000000000..a31fdb1178 --- /dev/null +++ b/package/sysbench/sysbench.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 e8ee79b1f399b2d167e6a90de52ccc90e52408f7ade1b9b7135727efe181347f sysbench-1.0.20.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/sysbench/sysbench.mk b/package/sysbench/sysbench.mk new file mode 100644 index 0000000000..748014f564 --- /dev/null +++ b/package/sysbench/sysbench.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# SYSBENCH +# +################################################################################ + +SYSBENCH_VERSION = 1.0.20 +SYSBENCH_SITE = $(call github,akopytov,sysbench,$(SYSBENCH_VERSION)) +SYSBENCH_LICENSE = GPLv2 +SYSBENCH_LICENSE_FILES = COPYING + +SYSBENCH_AUTORECONF = YES + +SYSBENCH_DEPENDENCIES = host-pkgconf +SYSBENCH_DEPENDENCIES += ck +SYSBENCH_DEPENDENCIES += luajit + +SYSBENCH_CONF_OPTS += --without-lib-prefix +SYSBENCH_CONF_OPTS += --with-system-luajit +SYSBENCH_CONF_OPTS += --with-system-ck + +ifneq ($(BR2_PACKAGE_SYSBENCH_WITH_MYSQL), y) +SYSBENCH_CONF_OPTS += --without-mysql +else +SYSBENCH_DEPENDENCIES += mysql +SYSBENCH_CONF_OPTS += --with-mysql-includes=$(STAGING_DIR)/usr/include/mysql +SYSBENCH_CONF_OPTS += --with-mysql-libs=$(STAGING_DIR)/usr/lib +endif + +$(eval $(autotools-package))
This benchmark was designed for identifying basic system parameters, as they are important for system using MySQL (w Innodb) under intensive load. Handling of IO in case of many parallel requests, checked as well as memory allocation/transfer speed and scheduler performance. CPU is benchmarked by using 64bit integer manipulation using Euklid algorithms for prime number computation. Benchmarks are designed to show benefit of multiple CPUs as well as of multiple hard drives, battery backed up write cache. https://github.com/akopytov/sysbench.git Signed-off-by: Sergey Romanov <svromanov@sberdevices.ru> --- DEVELOPERS | 1 + package/Config.in | 1 + package/sysbench/Config.in | 28 ++++++++++++++++++++++++++++ package/sysbench/sysbench.hash | 3 +++ package/sysbench/sysbench.mk | 30 ++++++++++++++++++++++++++++++ 5 files changed, 63 insertions(+) create mode 100644 package/sysbench/Config.in create mode 100644 package/sysbench/sysbench.hash create mode 100644 package/sysbench/sysbench.mk