From: Alexander Kanavin <alexander.kanavin@linux.intel.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH 03/20] rpm: add a patch to help with Docker performance issues
Date: Thu, 1 Feb 2018 20:01:53 +0200 [thread overview]
Message-ID: <20180201180210.21652-3-alexander.kanavin@linux.intel.com> (raw)
In-Reply-To: <20180201180210.21652-1-alexander.kanavin@linux.intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
---
...FD_CLOEXEC-on-opened-files-before-exec-fr.patch | 49 ++++++++++++++++++++++
meta/recipes-devtools/rpm/rpm_4.14.1.bb | 1 +
2 files changed, 50 insertions(+)
create mode 100644 meta/recipes-devtools/rpm/files/0001-Revert-Set-FD_CLOEXEC-on-opened-files-before-exec-fr.patch
diff --git a/meta/recipes-devtools/rpm/files/0001-Revert-Set-FD_CLOEXEC-on-opened-files-before-exec-fr.patch b/meta/recipes-devtools/rpm/files/0001-Revert-Set-FD_CLOEXEC-on-opened-files-before-exec-fr.patch
new file mode 100644
index 00000000000..4651409a651
--- /dev/null
+++ b/meta/recipes-devtools/rpm/files/0001-Revert-Set-FD_CLOEXEC-on-opened-files-before-exec-fr.patch
@@ -0,0 +1,49 @@
+From 982e47df7b82c5ffe3c414cf5641f08dba0f0e64 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 26 Jan 2018 16:32:04 +0200
+Subject: [PATCH] Revert "Set FD_CLOEXEC on opened files before exec from lua
+ script is called"
+
+This reverts commit 7a7c31f551ff167f8718aea6d5048f6288d60205.
+The reason is that when _SC_OPEN_MAX is much higher than the usual 1024
+(for example inside docker), the performance drops sharply.
+
+Upstream has been notified:
+https://bugzilla.redhat.com/show_bug.cgi?id=1537564
+
+Upstream-Status: Inappropriate [upstream needs to come up with a better fix]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ luaext/lposix.c | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+diff --git a/luaext/lposix.c b/luaext/lposix.c
+index 0a7c26c71..c578c5a11 100644
+--- a/luaext/lposix.c
++++ b/luaext/lposix.c
+@@ -335,22 +335,10 @@ static int Pexec(lua_State *L) /** exec(path,[args]) */
+ const char *path = luaL_checkstring(L, 1);
+ int i,n=lua_gettop(L);
+ char **argv;
+- int flag, fdno, open_max;
+
+ if (!have_forked)
+ return luaL_error(L, "exec not permitted in this context");
+
+- open_max = sysconf(_SC_OPEN_MAX);
+- if (open_max == -1) {
+- open_max = 1024;
+- }
+- for (fdno = 3; fdno < open_max; fdno++) {
+- flag = fcntl(fdno, F_GETFD);
+- if (flag == -1 || (flag & FD_CLOEXEC))
+- continue;
+- fcntl(fdno, F_SETFD, FD_CLOEXEC);
+- }
+-
+ argv = malloc((n+1)*sizeof(char*));
+ if (argv==NULL) return luaL_error(L,"not enough memory");
+ argv[0] = (char*)path;
+--
+2.15.1
+
diff --git a/meta/recipes-devtools/rpm/rpm_4.14.1.bb b/meta/recipes-devtools/rpm/rpm_4.14.1.bb
index d75902788e4..7b8ea46a75d 100644
--- a/meta/recipes-devtools/rpm/rpm_4.14.1.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.14.1.bb
@@ -39,6 +39,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
file://0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch \
file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \
file://0001-perl-disable-auto-reqs.patch \
+ file://0001-Revert-Set-FD_CLOEXEC-on-opened-files-before-exec-fr.patch \
"
PE = "1"
--
2.15.1
next prev parent reply other threads:[~2018-02-01 18:02 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-01 18:01 [PATCH 01/20] oe-selftest: add a test for recipes without maintainers Alexander Kanavin
2018-02-01 18:01 ` [PATCH 02/20] rpm: update to 4.14.1 Alexander Kanavin
2018-02-01 18:01 ` Alexander Kanavin [this message]
2018-02-01 18:01 ` [PATCH 04/20] openssl: update to 1.0.2n Alexander Kanavin
2018-02-01 18:01 ` [PATCH 05/20] webkitgtk: update to 2.18.6 Alexander Kanavin
2018-02-01 18:01 ` [PATCH 06/20] epiphany: update to 3.26.5.1 Alexander Kanavin
2018-02-01 18:01 ` [PATCH 07/20] p11-kit: take source code from official git Alexander Kanavin
2018-02-01 18:01 ` [PATCH 08/20] libnl: 3.2.29 -> 3.4.0 Alexander Kanavin
2018-02-01 18:01 ` [PATCH 09/20] vala: update to 0.38.6 Alexander Kanavin
2018-02-01 18:02 ` [PATCH 10/20] mpg123: update to 1.25.8 Alexander Kanavin
2018-02-01 18:02 ` [PATCH 11/20] boost: update to 1.66.0 Alexander Kanavin
2018-02-01 18:02 ` [PATCH 12/20] liburcu: update to 0.10.1 Alexander Kanavin
2018-02-01 18:02 ` [PATCH 13/20] btrfs-tools: update to 4.14.1 Alexander Kanavin
2018-02-01 18:02 ` [PATCH 14/20] libwebp: update to 0.6.1 Alexander Kanavin
2018-02-01 18:02 ` [PATCH 15/20] iso-codes: update to 3.77 Alexander Kanavin
2018-02-01 18:02 ` [PATCH 16/20] dtc: upgrade to 1.4.6 Alexander Kanavin
2018-02-04 8:31 ` Burton, Ross
2018-02-04 17:11 ` Khem Raj
2018-02-05 10:42 ` Alexander Kanavin
2018-02-05 14:52 ` Alexander Kanavin
2018-02-05 18:18 ` Khem Raj
2018-02-01 18:02 ` [PATCH 17/20] ffmpeg: update to 3.4.1 Alexander Kanavin
2018-02-01 18:02 ` [PATCH 18/20] iputils: update to 20161105 Alexander Kanavin
2018-02-01 18:02 ` [PATCH 19/20] babeltrace: update to 1.5.4 Alexander Kanavin
2018-02-01 18:02 ` [PATCH 20/20] libmpc: fix upstream version check Alexander Kanavin
2018-02-01 18:33 ` ✗ patchtest: failure for "oe-selftest: add a test for re..." and 19 more Patchwork
2018-02-01 19:21 ` Alexander Kanavin
2018-02-01 20:41 ` [PATCH 01/20] oe-selftest: add a test for recipes without maintainers Paul Eggleton
2018-02-02 10:47 ` Alexander Kanavin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180201180210.21652-3-alexander.kanavin@linux.intel.com \
--to=alexander.kanavin@linux.intel.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.