Message ID | 20180912234115.20736-4-avagin@virtuozzo.com |
---|---|
State | Accepted |
Series | "criu: remove all magic of service-fd when it isn't required" |
Headers | show
Delivered-To: criupatchwork@gmail.com Received: from gmail-imap.l.google.com [74.125.128.109] by patchwork.criu.org with IMAP (fetchmail-6.3.26) for <root@localhost> (single-drop); Thu, 13 Sep 2018 01:43:43 +0200 (CEST) Received: by 2002:a6b:25cb:0:0:0:0:0 with SMTP id l194-v6csp6021883iol; Wed, 12 Sep 2018 16:43:25 -0700 (PDT) X-Google-Smtp-Source: ANB0Vda5B+4Y9H8AwDuj0D0fyzfokqXcViE7NnswWX8QJ4POnvT47AFXhXlMXidQnI/e0iH2IUEl X-Received: by 2002:a2e:9698:: with SMTP id q24-v6mr2924502lji.35.1536795805680; Wed, 12 Sep 2018 16:43:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536795805; cv=none; d=google.com; s=arc-20160816; b=Huc0a73gzUGD1okpIplNRXbNgapPE3jEUDSAc5AIMQuedsX7AW5O4m4aGGzW3UYvYO P6GoJddRVj/PffAcukQHsUAmYGNcKUDjVQRHohcd0oHN/qMGg0wkFF5GHMDi0lE6vZI7 hFkeWHkjzSV16EY6w1FzCTSiamIr4WL5QMw3ybPJ774lho3UVLCRcSzRfMG1vRig4o5Q fIKkieagXVSNn7TaLa3ggXhg9qsZtJeVzZI1bDDqTBlh1ZL3SQPkpNDfNa30g/oLL84+ 5rpOlUOB3kndPvfeMXk2WFeBhg+nK+9IiPZrCv/9UelD27Tr5uOsCnEX6SvkCXq1EQ42 J94w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:sender:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :cc:spamdiagnosticoutput:mime-version:references:in-reply-to :message-id:date:to:from; bh=BJ6PWJgyGGc4kyVXHDQ75v42t8h0IdLP1SdnB3qEI4E=; b=09X08s0K6wMsTitXnML7NdF0hfZ09Wm9BvMSZPP0TuWLrjr46nO+4YWGgot3PsTZIx 9BI8zTmnW5bDUiKLade2aSr2yeoIOP12LtWoweBQyNtShBZB0gx0qn/+9DW0iSOEXG4I WpDvjJkyZjvoqFSX6BAJmscilwiN9vqfWrFUKC5l8Qya5H2nUC5w/g/IYh2XDbxH7oef 2/wa6hi/qrpwocI6L89XrpHRNufak+oI+kEg4w5Enb6c982zd4AhCTfNh+F0WaaFx8SP 4IcTHOMw0AmMzTNyqmQTmmSnevBZkin8sKzxFX2CIdvdxCcMPVSqxKyNrH2rTa45b3eZ BR2A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of criu-bounces@openvz.org designates 185.231.241.50 as permitted sender) smtp.mailfrom=criu-bounces@openvz.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Return-Path: <criu-bounces@openvz.org> Received: from mail.openvz.org (mail.openvz.org. [185.231.241.50]) by mx.google.com with ESMTPS id y13-v6si2656525ljc.15.2018.09.12.16.43.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 12 Sep 2018 16:43:25 -0700 (PDT) Received-SPF: pass (google.com: domain of criu-bounces@openvz.org designates 185.231.241.50 as permitted sender) client-ip=185.231.241.50; Authentication-Results: mx.google.com; spf=pass (google.com: domain of criu-bounces@openvz.org designates 185.231.241.50 as permitted sender) smtp.mailfrom=criu-bounces@openvz.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Received: from localhost.localdomain (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id w8CNg2Ph007427; Thu, 13 Sep 2018 02:42:02 +0300 Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03lp0119.outbound.protection.outlook.com [213.199.154.119]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id w8CNfUUD007385 for <criu@openvz.org>; Thu, 13 Sep 2018 02:41:30 +0300 Authentication-Results: openvz.org; dkim=none (message not signed) header.d=none; openvz.org; dmarc=none action=none header.from=virtuozzo.com; Received: from localhost.localdomain (4.16.175.162) by AM0PR08MB3251.eurprd08.prod.outlook.com (2603:10a6:208:5e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1122.15; Wed, 12 Sep 2018 23:41:33 +0000 From: Andrei Vagin <avagin@virtuozzo.com> To: criu@openvz.org Date: Thu, 13 Sep 2018 02:41:13 +0300 Message-Id: <20180912234115.20736-4-avagin@virtuozzo.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180912234115.20736-1-avagin@virtuozzo.com> References: <20180912234115.20736-1-avagin@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [4.16.175.162] X-ClientProxiedBy: AM4PR07CA0011.eurprd07.prod.outlook.com (2603:10a6:205:1::24) To AM0PR08MB3251.eurprd08.prod.outlook.com (2603:10a6:208:5e::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9146aa9c-d9c5-4bcc-e1b7-08d619094629 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:AM0PR08MB3251; X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3251; 3:Z4820YkmSj0U5bVD6QNyBlGpFO5FUgv0p8nfqhvC+EgLpWdk6GvygHdiICCWumKF0pGaLHoSCPE2yNeRLK7EXa5eYgY+QLnIow7J19sSXHPgyzSJrE9fYAmeBFh2TZP3WIyHRtKyg+G3VozhvQvjLctCqOr1OyBMssKcu2NMeBS+4atDsaxRZxcvlhuD31i2+jPzkUeep8tlgHHTc9gTI7z4vtg9BUXxMgHkJLTHbdxSG72EWySPraasH84WotKO; 25:e7/GEeeUtPpxpaMcBdt5VAU+UL38aogyjWCXF5hzVFxRyRSZv7vn8TyAUz2GIMFKfxeKBqP4YiF1X/od0bN78tmmYcxgDdnX+GqTk2Kw2HAnhldK1V1rkT2Vstb0tWAmkk0fzEO0oouuboLMkxJiWcD1cQo3zhJMU89ClhMv3WkX1FPb0u+UeFUifvYFzLFynJbtft2uefZd4Z6HmsWlX9K1KfB3hUo7amIGS07LfW6/afkvsIUNrh9vGcxznkh37M+LMF4C/s1VyoGJuvZqLeWVCrJN11y0QHICZ8OzWTFirWhvIssVtSpDQW+PlBevtGGWkSBqf/4hTiBOqDL83w==; 31:QCVxRrThQ/rV4iVoz9B0dkW/N5ZkxEF5xQzhAL7B7pl9wvS4dvXi3w6+kVcUtdQiTEUv11oQJkTRMx+9VIoirAKRhimHIeDByhxJRyfHwLvE/q+lKmLpb/3ih+LDFQ1nqfwQmTi32kvRy4tOngSqSCS4vQin/ngGQ/f0f3EzTKjfgsbb46SDcI/J5H6FD/wE5/u+bnEki+WeueeTBkd+6Sb6Q/KGF9cH0ZtKeV4Mvnk= X-MS-TrafficTypeDiagnostic: AM0PR08MB3251: X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3251; 20:AhmmwgmGF/eanD0uFe6FoGzM0he59RDbOilJP6o9UehK2cbvoOeP8N0nhakST4tnBHQ0Wv/gPtLC7iwFvY1erksHBwe9wRdG3Y85tfvFYkdnWlKKNWAOLIf6jodNOBgPTRv4uNCydkZkZ+YF+ZXQ9dl2kNrbSimeuNHsou8byrQBqSvS8hfbKyBaHCV/0PH6C1eEOVhdwYZDbGumzPROZtURyC5P791B7rID9PAQVBFxwDaGg49xMRK0Ha2Ap/Ctmkxp2cR9DH2AQ/f6V1mDzqPxU6/GhrAxc3slgTLSKnHs8X+OZat/2BYPreBlYx0QxNYiYxWWo40NTxVmc4D0eNjK2XtMxqC70BnqiPv19/4OH6/le4onvT/Ah9S1P6DdCkwN8vVDq0kXLggNs8bNIr80rVNDe1mnzLu+Q0Tb8hJ62TRmTLEBn/Y1bD03wHYrQCFvcmeAg9ItHEcz47MYf+vHuo/6mo+s5HvIEZW9fxUjtUn+vMw1ue3F65krwKok; 4:3437/EQCGan3GMEsU9P6poku+ss/dQrmv4suUi6fiVth9y6PYVLl16g0qfmpyYA05wBhdgU74QvnUMO5qdVyEy17lDvCs5t1l4Y1A8Rbj/3iHs33oXBj8GmWk4l/bDNi+aZOLA7/CH5yQaap6Z66olHqrwn35syV86ufauEuXW8mnolc0Dx35k1/M4p9tj8voVVIMlCNPQzUQ6/7sOiQoaCWE/Jxg/w1Stz3S11RYB5IXNhUMH3WaZrSlvnKG9ZZLL82u/2u1YTMxaQAjE6auA== X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(9101524173)(20180801055)(2401047)(8121501046)(823300264)(823320095)(93006095)(93001095)(3231311)(944501410)(52105095)(3002001)(10201501046)(201708071742011)(7699050); SRVR:AM0PR08MB3251; BCL:0; PCL:0; RULEID:; SRVR:AM0PR08MB3251; X-Forefront-Antispam-Report: SFV:SKI; SFS:; DIR:INB; SFP:; SCL:-1; SRVR:AM0PR08MB3251; H:localhost.localdomain; FPR:; SPF:None; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3251; 23:Douahg7blic2WxTPz36HLpLGzJszO6gC/zDEuHWgv61gVgTWD6COCDS1IHgnrEft1TosvndAT7M9KvUBbehT6qZQyg4S9zODCVXpYfte0bYX9nNEFfYq/mNTJHY6WsOiKUuowExYxBYcZ4QRYm3w5w==; 6:BiB9bouxlZRO0+kRze6mBr2W/lmI1uNBmOHt/mDmSijOmIAe8njl01LIV4ztq/x6iTVel1fdmeRAtbFyvJHdjpi8jrRswP2aKl8acdRjt4mOhZ8t7x3CqJgBpm1IXUu8baYTtCGy2Mq9SYNOsN3tFFLAN3jTPXwO2bgaJuD1TdHg4GdV/0Yigc5G6zQOFkOZ6mzChekZI19yvswNn37SXdhrHpswegfAoWsxoJNDyA1PY4fFIdfA9wlY7CKzHjGa/CETbzLruCaPMlvA3GlNVEFdltpy74c9IRsZP6XM4ZXQ9RJLleQZhlTnJeFLln752IzJWRWlnArXgcp7Z+ccOAWtHJma5r/wQ8BIV4z2qlxEXkF21AX5kVGFqe0kAJrvw7OVAyn7kFZheZxpU4Fq0eUAl66VHn8ns8xtywcuMHagFiN4ydcTl3wL1g8KdWeYQLr0pkVj0lIJbkw2c3smuw==; 5:5wGlPBlGBEZeOkvkczxL5BqHY2lf5eOVnDe884BmYfCelRwrCp57+44AXJa8g0TA8CBfukOekjg5qZ6Neuv2zCFmMkQm/6Am6UYeKfK3JYS9etwJAkiRImagrGc5DGAqZlcu7/vQw7KuUEKv9p5Rnvmv26dx3iMvY3PLzpU695w= X-Microsoft-Antispam-Message-Info: rg7uG70nFxyEtDSfRbiLVyRS0KJqTzDevKIqNyJR5B6ZATge45AMRgPpkf2rK72DuK8zDJSsW6h6MHzSCNm9e1EWWbqrUd7IuwiYUQY8sr2eMPeugHXjdwjES0ba6cW2JuQAvC/SsSQa9NBuW1di67kcLCEqGhyfluui/S1hR+G8HAJZd+Fmb+GrnA8GezPce9qMSlNVYk0uRJRsf3edmBNbeFkaJ4r5jtrzkhGEi10iBaMYrNi7xbovBXmKSlIKFuz7GOGtzXu5Lk5LlheysFcTzm4bD8ss6x8lOUpZlVz3hkxERr5UW0ws1El4cPtUIlp8wXpcM8pO2MyeKVzPpv9hcul13qkKkbpbdeIUyuI= SpamDiagnosticOutput: 1:0 X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3251; 7:QOswpYFL4YV/5I5R64OSHIM2OVViy4pjB44EMNmcIpKldSguZ3f1girad9PWrnFcf72+7qlicPRf8FJZDv3jkvqu7m1hrVYTc+4evKpw5v827McW1PDcBG74vKRoDNuVdN6OwvvGFy0CnmhWxCEVlIab8+xWp4O0Cxw1YfOf15TBuhUb0DpFUUY1HzI4zfnJa/nyCJKLtxGFT7AzhF26kHBtK16Wo5h5lpCkcdY1/oi5qzM+VNf93pSfmm3f/auG; 20:hJWWgOuKvjZAwEL2fqe545+EBKUW/nvN5nsPr8N0TpyvJEC3XDwN7k4AWVscRQ7fMdTw98pVjBxLhS/kjPZSjsLEkpO6tlXeCeyNQlxbUjwfvdr5bLXErwZMRi6lPsPIkM5nE5capqh4gXtlm/rwmfISTbghKR2ubJXvlKavdV8= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2018 23:41:33.3303 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9146aa9c-d9c5-4bcc-e1b7-08d619094629 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3251 X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 4.16.175.162 X-MS-Exchange-CrossPremises-AuthSource: AM0PR08MB3251.eurprd08.prod.outlook.com X-MS-Exchange-CrossPremises-AuthAs: Internal X-MS-Exchange-CrossPremises-AuthMechanism: 06 X-MS-Exchange-CrossPremises-TransportTrafficType: Email X-MS-Exchange-CrossPremises-TransportTrafficSubType: X-MS-Exchange-CrossPremises-SCL: -1 X-MS-Exchange-CrossPremises-Antispam-ScanContext: DIR:Originating; SFV:SKI; SKIP:0; X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent X-OrganizationHeadersPreserved: AM0PR08MB3251.eurprd08.prod.outlook.com Cc: Andrei Vagin <avagin@virtuozzo.com> Subject: [CRIU] [PATCH 3/5] criu: remove all magic of service-fd when it isn't required X-BeenThere: criu@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: CRIU development <criu.openvz.org> List-Unsubscribe: <https://lists.openvz.org/mailman/options/criu>, <mailto:criu-request@openvz.org?subject=unsubscribe> List-Archive: <http://lists.openvz.org/pipermail/criu/> List-Post: <mailto:criu@openvz.org> List-Help: <mailto:criu-request@openvz.org?subject=help> List-Subscribe: <https://lists.openvz.org/mailman/listinfo/criu>, <mailto:criu-request@openvz.org?subject=subscribe> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: criu-bounces@openvz.org Errors-To: criu-bounces@openvz.org |
diff --git a/criu/util.c b/criu/util.c index bc932923c..e2f947e8a 100644 --- a/criu/util.c +++ b/criu/util.c @@ -454,8 +454,6 @@ int init_service_fd(void) } service_fd_rlim_cur = (int)rlimit.rlim_cur; - service_fd_base = service_fd_rlim_cur; - BUG_ON(service_fd_base < SERVICE_FD_MAX); return 0; } @@ -476,6 +474,7 @@ int service_fd_min_fd(struct pstree_item *item) } static DECLARE_BITMAP(sfd_map, SERVICE_FD_MAX); +static int sfd_arr[SERVICE_FD_MAX]; /* * Variable for marking areas of code, where service fds modifications * are prohibited. It's used to safe them from reusing their numbers @@ -498,6 +497,12 @@ int install_service_fd(enum sfd_type type, int fd) if (sfds_protected && !test_bit(type, sfd_map)) sfds_protection_bug(type); + if (service_fd_base == 0) { + sfd_arr[type] = fd; + set_bit(type, sfd_map); + return fd; + } + if (dup3(fd, sfd, O_CLOEXEC) != sfd) { pr_perror("Dup %d -> %d failed", fd, sfd); close(fd); @@ -516,6 +521,9 @@ int get_service_fd(enum sfd_type type) if (!test_bit(type, sfd_map)) return -1; + if (service_fd_base == 0) + return sfd_arr[type]; + return __get_service_fd(type, service_fd_id); }
Service descriptors are a set of file descriptors which isn't intercepted with restored file descriptors. In all cases, when we don't need to restore file descriptors, we can skip all magic of service-fd and just save descriptor numbers in a static array. Signed-off-by: Andrei Vagin <avagin@virtuozzo.com> --- criu/util.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)