mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-23 01:50:35 +00:00
On /usr/lib/sysctl.d/99-scylla-sched.conf, we have some sysctl settings to tune the scheduler for lower latency. This is mostly to prevent softirq threads processing tcp and reactor threads from injecting latency into each other. However, these parameters are moved to debugfs from linux-5.13+, so we lost scheduler tuneing on recent kernels. To support tuning recent kernel, let's add a new service which support to configure both sysctl and debugfs. The service named scylla-tune-sched.service The service will unconditionally enables when installed, on older kernel it will tune via sysctl, on recent kernel it will tune via debugfs. Fixes #16077 Closes scylladb/scylladb#16122
56 lines
1.7 KiB
Makefile
Executable File
56 lines
1.7 KiB
Makefile
Executable File
#!/usr/bin/make -f
|
|
|
|
include /usr/share/dpkg/pkg-info.mk
|
|
|
|
export PYBUILD_DISABLE=1
|
|
ifneq ($(findstring housekeeping, $(DEB_BUILD_OPTIONS)),)
|
|
install_arg := --housekeeping
|
|
else
|
|
install_arg :=
|
|
endif
|
|
|
|
product := $(subst -server,,$(DEB_SOURCE))
|
|
|
|
override_dh_auto_configure:
|
|
|
|
override_dh_auto_build:
|
|
|
|
override_dh_auto_clean:
|
|
|
|
override_dh_auto_install:
|
|
dh_auto_install
|
|
./scylla/install.sh --packaging --root "$(CURDIR)/debian/tmp" $(install_arg) --sysconfdir "/etc/default"
|
|
# don't use default sysconfig file, use Debian version
|
|
cp scylla/dist/debian/sysconfig/scylla-housekeeping $(CURDIR)/debian/tmp/etc/default/
|
|
|
|
override_dh_installinit:
|
|
ifeq ($(product),scylla)
|
|
dh_installinit --no-start
|
|
else
|
|
dh_installinit --no-start --name scylla-server
|
|
dh_installinit --no-start --name scylla-node-exporter
|
|
endif
|
|
dh_installinit --no-start --name scylla-housekeeping-daily
|
|
dh_installinit --no-start --name scylla-housekeeping-restart
|
|
dh_installinit --no-start --name scylla-fstrim
|
|
dh_installinit --no-start --name scylla-tune-sched
|
|
|
|
override_dh_strip:
|
|
# The binaries (ethtool...patchelf) don't pass dh_strip after going through patchelf. Since they are
|
|
# already stripped, nothing is lost if we exclude them, so that's what we do.
|
|
dh_strip -Xlibprotobuf.so.15 -Xld.so -Xethtool -Xgawk -Xgzip -Xhwloc-calc -Xhwloc-distrib -Xifconfig -Xlscpu -Xnetstat -Xpatchelf --dbg-package=$(product)-server-dbg
|
|
find $(CURDIR)/debian/$(product)-server-dbg/usr/lib/debug/.build-id/ -name "*.debug" -exec objcopy --decompress-debug-sections {} \;
|
|
|
|
override_dh_makeshlibs:
|
|
|
|
override_dh_shlibdeps:
|
|
|
|
override_dh_fixperms:
|
|
dh_fixperms
|
|
chmod 755 $(CURDIR)/debian/$(product)-server/opt/scylladb/libreloc/ld.so
|
|
|
|
override_dh_strip_nondeterminism:
|
|
|
|
%:
|
|
dh $@
|