Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:15-SP4
util-linux.32955
util-linux-libuuid-improve-cache-handling.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File util-linux-libuuid-improve-cache-handling.patch of Package util-linux.32955
From 104dc2e092058489a4be17d5b15902e58ca56804 Mon Sep 17 00:00:00 2001 From: d032747 <michael.trapp@sap.com> Date: Fri, 22 Apr 2022 10:07:46 +0200 Subject: [PATCH 2/4] libuuid: improve cache handling Short running applications with a few UUID request don't need a large cache. Therefore increment the cache size over runtime. --- libuuid/src/gen_uuid.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libuuid/src/gen_uuid.c b/libuuid/src/gen_uuid.c index 76d5371ea..805b40d90 100644 --- a/libuuid/src/gen_uuid.c +++ b/libuuid/src/gen_uuid.c @@ -443,6 +443,7 @@ int __uuid_generate_time(uuid_t out, int *num) static int uuid_generate_time_generic(uuid_t out) { #ifdef HAVE_TLS THREAD_LOCAL int num = 0; + THREAD_LOCAL int cache_size = 1; THREAD_LOCAL struct uuid uu; THREAD_LOCAL time_t last_time = 0; time_t now; @@ -453,7 +454,15 @@ static int uuid_generate_time_generic(uuid_t out) { num = 0; } if (num <= 0) { - num = 1000000; + /* + * 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. + */ + if (cache_size < 1000000) + cache_size *= 10; + num = cache_size; + if (get_uuid_via_daemon(UUIDD_OP_BULK_TIME_UUID, out, &num) == 0) { last_time = time(NULL); -- 2.37.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor