Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package util-linux for openSUSE:Factory checked in at 2023-05-13 17:16:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/util-linux (Old) and /work/SRC/openSUSE:Factory/.util-linux.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "util-linux" Sat May 13 17:16:52 2023 rev:270 rq:1085804 version:2.38.1 Changes: -------- --- /work/SRC/openSUSE:Factory/util-linux/util-linux.changes 2023-04-08 17:38:17.529780146 +0200 +++ /work/SRC/openSUSE:Factory/.util-linux.new.1533/util-linux.changes 2023-05-13 17:16:55.458133603 +0200 @@ -1,0 +2,18 @@ +Tue May 9 19:46:41 UTC 2023 - Antonio Teixeira <antonio.teixe...@suse.com> + +- Suppress error messages for grep command where the input file + might not exist (boo#1169835) + +------------------------------------------------------------------- +Tue May 9 16:31:55 UTC 2023 - Daniel Garcia <daniel.gar...@suse.com> + +- Call fdupes without -s to avoid broken symlinks, pointing to + different subpackage. boo#1209990 + +------------------------------------------------------------------- +Fri Apr 28 09:42:27 UTC 2023 - Daniel Garcia <daniel.gar...@suse.com> + +- Add upstream patch fix-lib-internal-cache-size.patch + bsc#1210164, gh#util-linux/util-linux@2fa4168c8bc9 + +------------------------------------------------------------------- New: ---- fix-lib-internal-cache-size.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ util-linux.spec ++++++ --- /var/tmp/diff_new_pack.cMzwuO/_old 2023-05-13 17:16:56.510139656 +0200 +++ /var/tmp/diff_new_pack.cMzwuO/_new 2023-05-13 17:16:56.514139679 +0200 @@ -114,6 +114,8 @@ Patch5: util-linux-fix-tests-when-at-symbol-in-path.patch # https://github.com/util-linux/util-linux/commit/0c0fb46dcef6c63c74094486e499e376fdb33a04.diff Patch6: util-linux-honor-noclear-when-reprint-issue.patch +# Patch-FIX_UPSTREAM: fix-lib-internal-cache-size.patch bsc#1210164 -- gh#util-linux/util-linux@2fa4168c8bc9 +Patch7: fix-lib-internal-cache-size.patch BuildRequires: audit-devel BuildRequires: bc BuildRequires: binutils-devel @@ -663,7 +665,7 @@ # fdupes for all multibuild flavors # Link duplicate manpages or python bindings. -%fdupes -s %{buildroot}%{_prefix} +%fdupes %{buildroot}%{_prefix} ############## # Base check # @@ -752,7 +754,7 @@ # Perform one-time config replace. # Applies for: Update from SLE11, online update for SLE15 SP1, Leap15.1. # Not needed for /etc/default/runuser. It was first packaged after the change. -if ! grep -q "^# /etc/default/su is an override" %{_sysconfdir}/default/su ; then +if ! grep -qs "^# /etc/default/su is an override" %{_sysconfdir}/default/su ; then if test -f %{_sysconfdir}/default/su.rpmnew ; then if ! test -f %{_sysconfdir}/default/su.rpmorig ; then cp -a %{_sysconfdir}/default/su %{_sysconfdir}/default/su.rpmorig ++++++ fix-lib-internal-cache-size.patch ++++++ >From 2fa4168c8bc9d5438bc1dfadda293c7c21b6fa59 Mon Sep 17 00:00:00 2001 From: Michael Trapp <michael.tr...@sap.com> Date: Mon, 6 Mar 2023 10:40:20 +0000 Subject: [PATCH] libuuid: fix lib internal cache size The lib internal cache improves throughput in high load scenarios but for applications with a low request rate, the cache size must be adapted to this situation. Therefore the cache size should be changed to the current requirements of the application during runtime. --- libuuid/src/gen_uuid.c | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) Index: util-linux-2.38.1/libuuid/src/gen_uuid.c =================================================================== --- util-linux-2.38.1.orig/libuuid/src/gen_uuid.c +++ util-linux-2.38.1/libuuid/src/gen_uuid.c @@ -442,25 +442,35 @@ int __uuid_generate_time(uuid_t out, int */ static int uuid_generate_time_generic(uuid_t out) { #ifdef HAVE_TLS + /* thread local cache for uuidd based requests */ + const int cs_min = (1<<6); + const int cs_max = (1<<18); + const int cs_factor = 2; THREAD_LOCAL int num = 0; - THREAD_LOCAL int cache_size = 1; + THREAD_LOCAL int cache_size = cs_min; + THREAD_LOCAL int last_used = 0; THREAD_LOCAL struct uuid uu; THREAD_LOCAL time_t last_time = 0; time_t now; - if (num > 0) { + if (num > 0) { /* expire cache */ now = time(NULL); - if (now > last_time+1) + if (now > last_time+1) { + last_used = cache_size - num; num = 0; + } } - if (num <= 0) { + if (num <= 0) { /* fill cache */ /* * num + OP_BULK provides a local cache in each application. * Start with a small cache size to cover short running applications - * and increment the cache size over the runntime. + * and adjust the cache size over the runntime. */ - if (cache_size < 1000000) - cache_size *= 10; + if ((last_used == cache_size) && (cache_size < cs_max)) + cache_size *= cs_factor; + else if ((last_used < (cache_size / cs_factor)) && (cache_size > cs_min)) + cache_size /= cs_factor; + num = cache_size; if (get_uuid_via_daemon(UUIDD_OP_BULK_TIME_UUID, @@ -470,9 +480,11 @@ static int uuid_generate_time_generic(uu num--; return 0; } + /* request to daemon failed, reset cache */ num = 0; + cache_size = cs_min; } - if (num > 0) { + if (num > 0) { /* serve uuid from cache */ uu.time_low++; if (uu.time_low == 0) { uu.time_mid++; @@ -481,6 +493,8 @@ static int uuid_generate_time_generic(uu } num--; uuid_pack(&uu, out); + if (num == 0) + last_used = cache_size; return 0; } #else