From patchwork Tue May 14 13:08:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Maximets X-Patchwork-Id: 1099469 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=samsung.com header.i=@samsung.com header.b="NjHsag0v"; dkim-atps=neutral Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 453J1w2Ttjz9sBr for ; Tue, 14 May 2019 23:09:56 +1000 (AEST) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id D1DE5E34; Tue, 14 May 2019 13:08:56 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 807FCE20 for ; Tue, 14 May 2019 13:08:55 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 12BA842D for ; Tue, 14 May 2019 13:08:54 +0000 (UTC) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20190514130853euoutp01b67cba64960e96f18d608f6313e1d9e5~ejp7CirjO0392603926euoutp01g for ; Tue, 14 May 2019 13:08:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20190514130853euoutp01b67cba64960e96f18d608f6313e1d9e5~ejp7CirjO0392603926euoutp01g DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1557839333; bh=+zVAP7G0C87L0Kzpf1pk39tAbYVaaJUQQxFm+WZauZM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NjHsag0vKVT1JgzzBCjg0KD8zR2CzP/WksExJSpQqX+jOETbcORym1hy8S14gMhiz 21daFX7NuOj7bW+iqNrVHFSOkcOE5m4PHIrMcQsAhqA9NoD6vprVLlJ+0OWVFBQ9Vc p34EOiKVH/7+jv0RS84RJdcmtWrwGjR9Wf3b2hRU= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20190514130853eucas1p2550b6b050f7a70062d29c7344aedbc66~ejp6qbdKC3207132071eucas1p2V; Tue, 14 May 2019 13:08:53 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id DF.A3.04325.4EDBADC5; Tue, 14 May 2019 14:08:52 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20190514130852eucas1p13f2945e6e396047798c177c13db668a8~ejp5x02sJ3002530025eucas1p1t; Tue, 14 May 2019 13:08:52 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20190514130852eusmtrp28d7ba11ec96482cd9c43061703c68454~ejp5iTw-c1208512085eusmtrp2D; Tue, 14 May 2019 13:08:52 +0000 (GMT) X-AuditID: cbfec7f5-b75ff700000010e5-7c-5cdabde4e875 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id F3.AF.04140.3EDBADC5; Tue, 14 May 2019 14:08:51 +0100 (BST) Received: from imaximets.rnd.samsung.ru (unknown [106.109.129.180]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20190514130851eusmtip200c5d7165a0dd4a9cfad2d639ac4c20e~ejp5IrAJt1668716687eusmtip2-; Tue, 14 May 2019 13:08:51 +0000 (GMT) From: Ilya Maximets To: ovs-dev@openvswitch.org Date: Tue, 14 May 2019 16:08:42 +0300 Message-Id: <20190514130843.11906-2-i.maximets@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190514130843.11906-1-i.maximets@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0VSaUyScRjvz8vxwqRe0ckzbLHI1jrQWn1gxTyaH+iTzrW1iR2k79AEZCAe 8SFcl7pl1Co75rHZhsdKLTR1aorNozJniXcrm5liHiltYYQBL61vv3PP78ODY7wlugDP0GST Oo1CJWJy6M29riHxbMdkysHFj0clI9ddLEnjzCBD8sS2ypL0FrXTJWVr31AsQ1bVvkCTzU1s ItlKp50pK7HWokR6MkeaRqoyckhdVPQ5Tnq/9RFDO7Itb7kAN6GqoGLExoE4ApV/6lEx4uA8 ohpBz5CZRREngtV+J5Mi6wg2nrew/lWaBmoYlGFBMPp1hkaRXwhW5u76U0ziALyue4V8OJQI h8Ub3/0NjHiM4K25C/MZIUQcNLqG/ZhO7IaOrgp/mUscg8vuqwzqnBDqGqg8m5CC42m5/xoQ U0wY7nDTqVA8bNhLMAqHgKPPGti6HTZbK2gUvgSfriwgqlyIoNTmCRgxYF185y3g3nl7ob4t ipLj4EVRNfLJQGyF8aVgn4x54e3mUoySuVB4jUelI+B3tyWwQAATy+uBBTIocHqYPswjbiJw 12jNSPjw/61KhGoRnzTo1UpSf1hD5kbqFWq9QaOMTM1SP0PeJ3jj6fvZgjrd522IwJEoiJvX OpnCYyhy9PlqGwIcE4Vyk3eOp/C4aYr8i6Qu66zOoCL1NhSO00V8rnHLZzmPUCqyyUyS1JK6 fy4NZwtMKDfGyBZnOdJX4xNGgxPKTyQSxy339hfjfE996tQZdUHmhlK4I7fMoBVP77EIw+Ti Wz0y0byye5d07Edy0unBBlMftoROxX6wRyiSjN2C92Z+tOtCxppjvsmkfdA2OwonG7+45eAc WrgvNTLlkZVVJXYMfxl2J2Z6YHxMJaLr0xWH9mE6veIvzuQrsQADAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrHLMWRmVeSWpSXmKPExsVy+t/xe7qP996KMZjZa2Nxpf0nu8XGh2dZ LdYe+sBucaxzD4vF3E/PGR1YPRbvecnk8ezmf0aP9/uusnn0bVnFGMASpWdTlF9akqqQkV9c YqsUbWhhpGdoaaFnZGKpZ2hsHmtlZKqkb2eTkpqTWZZapG+XoJdxYsts1oIr/BXvGjkaGBfz dDFyckgImEhsPbmStYuRi0NIYCmjxL3dexkhElISP35dYIWwhSX+XOtiA7GFBL4xSjSvZQex 2QR0JE6tPgJWLyIgLfG69w3YIGaBZYwSxw7NYwFJCAs4Smz8eZEZxGYRUJXYe2A+WDOvgLVE 859WqAXyEqs3HACr4RSwkXi1bh4TxDJriZd9D9kmMPItYGRYxSiSWlqcm55bbKRXnJhbXJqX rpecn7uJERiW24793LKDsetd8CFGAQ5GJR7eip23YoRYE8uKK3MPMUpwMCuJ8EYp3ogR4k1J rKxKLcqPLyrNSS0+xGgKdNREZinR5HxgzOSVxBuaGppbWBqaG5sbm1koifN2CByMERJITyxJ zU5NLUgtgulj4uCUamBMc5L2kGncNT99bcGS17znJuo0Knxx3nJOoYwp+kCVWZZC75an0cty j1XXSTUf1++L+bxw7T51hfg8/S2HVitVuK/tbMxnct60rEQoe8LH+ujgjzmrfQp2SigYbK9q ahc6cZXj0arraoZ5Dlp/b76cHJ/Nlrd/++NkjX9qNTmavJIL6pOCtimxFGckGmoxFxUnAgDa 167eYQIAAA== X-CMS-MailID: 20190514130852eucas1p13f2945e6e396047798c177c13db668a8 X-Msg-Generator: CA X-RootMTR: 20190514130852eucas1p13f2945e6e396047798c177c13db668a8 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20190514130852eucas1p13f2945e6e396047798c177c13db668a8 References: <20190514130843.11906-1-i.maximets@samsung.com> X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Ilya Maximets , Maxime Coquelin Subject: [ovs-dev] [PATCH v2 1/2] vswitchd: Track status of memory locking. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org Needed for the future post-copy live migration support for vhost-user ports. Signed-off-by: Ilya Maximets Reviewed-by: Maxime Coquelin --- lib/util.c | 15 +++++++++++++++ lib/util.h | 3 +++ vswitchd/ovs-vswitchd.c | 2 ++ 3 files changed, 20 insertions(+) diff --git a/lib/util.c b/lib/util.c index 5679232ff..156555ebe 100644 --- a/lib/util.c +++ b/lib/util.c @@ -63,6 +63,9 @@ DEFINE_PER_THREAD_MALLOCED_DATA(char *, subprogram_name); /* --version option output. */ static char *program_version; +/* 'true' if mlockall() succeeded. */ +static bool is_memory_locked = false; + /* Buffer used by ovs_strerror() and ovs_format_message(). */ DEFINE_STATIC_PER_THREAD_DATA(struct { char s[128]; }, strerror_buffer, @@ -94,6 +97,18 @@ ovs_assert_failure(const char *where, const char *function, } } +void +set_memory_locked(void) +{ + is_memory_locked = true; +} + +bool +memory_locked(void) +{ + return is_memory_locked; +} + void out_of_memory(void) { diff --git a/lib/util.h b/lib/util.h index 53354f1c6..c26605abd 100644 --- a/lib/util.h +++ b/lib/util.h @@ -140,6 +140,9 @@ void ctl_timeout_setup(unsigned int secs); void ovs_print_version(uint8_t min_ofp, uint8_t max_ofp); +void set_memory_locked(void); +bool memory_locked(void); + OVS_NO_RETURN void out_of_memory(void); void *xmalloc(size_t) MALLOC_LIKE; void *xcalloc(size_t, size_t) MALLOC_LIKE; diff --git a/vswitchd/ovs-vswitchd.c b/vswitchd/ovs-vswitchd.c index 719196937..4ee23ca43 100644 --- a/vswitchd/ovs-vswitchd.c +++ b/vswitchd/ovs-vswitchd.c @@ -94,6 +94,8 @@ main(int argc, char *argv[]) #ifdef HAVE_MLOCKALL if (mlockall(MCL_CURRENT | MCL_FUTURE)) { VLOG_ERR("mlockall failed: %s", ovs_strerror(errno)); + } else { + set_memory_locked(); } #else VLOG_ERR("mlockall not supported on this system");