Improve db-5.3.28-mmap-high-cpu-usage.patch to cover more cases

This commit is contained in:
Filip Januš 2021-09-14 09:44:58 +02:00
parent 316f3195dc
commit 91f5ca6fc8
2 changed files with 15 additions and 11 deletions

View File

@ -1,18 +1,19 @@
Author: Filip Januš <fjanus@redhat.com>
Date: 6 Sep 2021
Related: https://bugzilla.redhat.com/show_bug.cgi?id=1992402
diff -ur db-5.3.28/src/os/os_map.c db-patched/src/os/os_map.c
Patch was created based on the discussion in the previous link
diff -ur db-5.3.28/src/os/os_map.c db_patch/src/os/os_map.c
--- db-5.3.28/src/os/os_map.c 2013-09-09 17:35:09.000000000 +0200
+++ db-patched/src/os/os_map.c 2021-09-06 14:32:28.792139908 +0200
@@ -213,6 +213,10 @@
+++ db_patch/src/os/os_map.c 2021-09-09 07:33:12.027328265 +0200
@@ -213,7 +213,10 @@
if (rp->max < rp->size)
rp->max = rp->size;
if (ret == 0 && F_ISSET(infop, REGION_CREATE)) {
+#ifdef HAVE_MLOCK
+ if (F_ISSET(env, ENV_LOCKDOWN))
+ rp->size = rp->max;
+#endif
if (F_ISSET(dbenv, DB_ENV_REGION_INIT))
- if (F_ISSET(dbenv, DB_ENV_REGION_INIT))
+
+ rp->max = rp->size;
+
+ if (F_ISSET(dbenv, DB_ENV_REGION_INIT))
ret = __db_file_write(env, infop->fhp,
rp->size / MEGABYTE, rp->size % MEGABYTE, 0x00);
else

View File

@ -5,7 +5,7 @@
Summary: The Berkeley DB database library for C
Name: libdb
Version: 5.3.28
Release: 48%{?dist}
Release: 49%{?dist}
Source0: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz
Source1: http://download.oracle.com/berkeley-db/db.1.85.tar.gz
# For mt19937db.c
@ -389,7 +389,10 @@ mv man/* ${RPM_BUILD_ROOT}%{_mandir}/man1
%{_includedir}/%{name}/dbsql.h
%changelog
* Mon Sep 6 2021 Filip Januš <fjanus@redhat.com> 5.3.28-48
* Tue Sep 15 2021 Filip Januš <fjanus@redhat.com> - 5.3.28-49
- Improve previous (patch 41) to cover more cases
* Mon Sep 14 2021 Filip Januš <fjanus@redhat.com> - 5.3.28-48
- Bad order of sys calls cause high CPU usage
- Related: #1992402
- Patch no. 41 was added