From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A3E67A034C for ; Fri, 25 Feb 2022 18:18:13 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9ECBC41156; Fri, 25 Feb 2022 18:18:13 +0100 (CET) Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) by mails.dpdk.org (Postfix) with ESMTP id C551441150 for ; Fri, 25 Feb 2022 18:18:12 +0100 (CET) Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 5F95840300 for ; Fri, 25 Feb 2022 17:18:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1645809491; bh=O+s6IHJ2880C3rEnC3QLhEuP/WTXxNd+C6/X0IYbRNA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=rVkh/L6nRtljoyxqWXLFJl8/PIZzs71tk2bhJOBn9iOQbaTpeJl/kZYowc7sTlbWF EjI/gqKW5ws9N5De9uU5rPUZmi61D8r5uFmMvnJhc7gSXadMC95J2kcgxG9YtawECW XDfWirtIp71IGVtYetbuN4NaAQ13x8zZ+6fqjwwOlgFEfj+a2IQRNh7708HaGGGCK/ SsJwBR4km7QN4Cj9oc0K45wZeBZ+HqCpmCSBAq0UWjmc1XPR1Z5o+qi2bcnyxNk+jw VloyLINhYYbdBDOpoXttZ1KbpWE3GJET6p88e3yc3C/z5H5Hyx2EjGQ4qbMCmVIphX 8GS/ywFF1RbtQ== Received: by mail-wr1-f72.google.com with SMTP id p9-20020adf9589000000b001e333885ac1so1099725wrp.10 for ; Fri, 25 Feb 2022 09:18:11 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=O+s6IHJ2880C3rEnC3QLhEuP/WTXxNd+C6/X0IYbRNA=; b=4Sj9r953tsSVHYOveFwqNd4WmNlZxiwxtkinCMb82D0CR1FyjeaQhr43qyIXg15r7V PIwvByIkYStNMnWTQOMQ0EOhctsLlaNp69EnlxyvCE6zCyspiGnYD19it/5XPtQXQSzs ZIayjDJN/mixEVqFUQTu6okeZ+LlMXuYMJdbBNaimFXSNPzo0XLwrqloeuWePSSmtILx VGPbUY+MWM/VLcqXqeUIlXaCup74VTOlDjtXmQ8AdtUByThQI5t9yjQVOFaAc8vcM9tt ACHYWzngr285bP37acM6OaZi0TeCv7gygTu6yMXKsBvzSWXemUfCwOkwLnR5FIdp10pB AT+g== X-Gm-Message-State: AOAM5307IX+pLtaM+Qpok2D8jh5aNyNABuoyuf8wvYTd1oLBvezb7W5r xcVtF+xbFj+U01kCiaOSxh0F1oBJ2nb6vyQKN6eCUUQklj0bE04RBwtvJxPCqoNwxGErKYqFobt j4z498Wwcujqs8b26fdm8I1st X-Received: by 2002:adf:9d84:0:b0:1ed:f546:bd8b with SMTP id p4-20020adf9d84000000b001edf546bd8bmr6534775wre.375.1645809490742; Fri, 25 Feb 2022 09:18:10 -0800 (PST) X-Google-Smtp-Source: ABdhPJy7FVoy9G1ALVJL6dgBlLx0LB6q/4ZfuRSGtgn+mA5EEA3ViffD7PZzRq3YqycZA8CLgcAoVQ== X-Received: by 2002:adf:9d84:0:b0:1ed:f546:bd8b with SMTP id p4-20020adf9d84000000b001edf546bd8bmr6534759wre.375.1645809490534; Fri, 25 Feb 2022 09:18:10 -0800 (PST) Received: from Keschdeichel.fritz.box (068-133-067-156.ip-addr.inexio.net. [156.67.133.68]) by smtp.gmail.com with ESMTPSA id s11-20020a5d69cb000000b001ef5b49d68esm3039655wrw.37.2022.02.25.09.18.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Feb 2022 09:18:10 -0800 (PST) From: christian.ehrhardt@canonical.com To: Stephen Hemminger Cc: Anatoly Burakov , dpdk stable Subject: patch 'vfio: cleanup the multiprocess sync handle' has been queued to stable release 19.11.12 Date: Fri, 25 Feb 2022 18:15:43 +0100 Message-Id: <20220225171550.3499040-50-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.35.0 In-Reply-To: <20220225171550.3499040-1-christian.ehrhardt@canonical.com> References: <20220225171550.3499040-1-christian.ehrhardt@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 19.11.12 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/27/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/dcae27834511c94d971db981a07029849e03c271 Thanks. Christian Ehrhardt --- >From dcae27834511c94d971db981a07029849e03c271 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Sat, 13 Nov 2021 09:22:55 -0800 Subject: [PATCH] vfio: cleanup the multiprocess sync handle [ upstream commit 6412941ae8d183ead5720f06cd2616f7c523f6a8 ] When rte_eal_cleanup is called the rte_mp_action for VFIO should be freed. Fixes: edf73dd33072 ("ipc: handle unsupported IPC in action register") Signed-off-by: Stephen Hemminger Acked-by: Anatoly Burakov --- lib/librte_eal/linux/eal/eal.c | 4 ++++ lib/librte_eal/linux/eal/eal_vfio.h | 1 + lib/librte_eal/linux/eal/eal_vfio_mp_sync.c | 8 ++++++++ 3 files changed, 13 insertions(+) diff --git a/lib/librte_eal/linux/eal/eal.c b/lib/librte_eal/linux/eal/eal.c index a2898705b6..5fa8c82c63 100644 --- a/lib/librte_eal/linux/eal/eal.c +++ b/lib/librte_eal/linux/eal/eal.c @@ -1323,7 +1323,11 @@ rte_eal_cleanup(void) */ if (rte_eal_process_type() == RTE_PROC_PRIMARY) rte_memseg_walk(mark_freeable, NULL); + rte_service_finalize(); +#ifdef VFIO_PRESENT + vfio_mp_sync_cleanup(); +#endif rte_mp_channel_cleanup(); eal_cleanup_config(&internal_config); return 0; diff --git a/lib/librte_eal/linux/eal/eal_vfio.h b/lib/librte_eal/linux/eal/eal_vfio.h index 6ebaca6a0c..921ee59538 100644 --- a/lib/librte_eal/linux/eal/eal_vfio.h +++ b/lib/librte_eal/linux/eal/eal_vfio.h @@ -133,6 +133,7 @@ int vfio_has_supported_extensions(int vfio_container_fd); int vfio_mp_sync_setup(void); +void vfio_mp_sync_cleanup(void); #define EAL_VFIO_MP "eal_vfio_mp_sync" diff --git a/lib/librte_eal/linux/eal/eal_vfio_mp_sync.c b/lib/librte_eal/linux/eal/eal_vfio_mp_sync.c index 6254696ae5..76877f5b54 100644 --- a/lib/librte_eal/linux/eal/eal_vfio_mp_sync.c +++ b/lib/librte_eal/linux/eal/eal_vfio_mp_sync.c @@ -120,4 +120,12 @@ vfio_mp_sync_setup(void) return 0; } +void +vfio_mp_sync_cleanup(void) +{ + if (rte_eal_process_type() != RTE_PROC_PRIMARY) + return; + + rte_mp_action_unregister(EAL_VFIO_MP); +} #endif -- 2.35.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-02-25 16:58:46.166767364 +0100 +++ 0050-vfio-cleanup-the-multiprocess-sync-handle.patch 2022-02-25 16:58:44.292990460 +0100 @@ -1 +1 @@ -From 6412941ae8d183ead5720f06cd2616f7c523f6a8 Mon Sep 17 00:00:00 2001 +From dcae27834511c94d971db981a07029849e03c271 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 6412941ae8d183ead5720f06cd2616f7c523f6a8 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -15,3 +16,3 @@ - lib/eal/linux/eal.c | 4 ++++ - lib/eal/linux/eal_vfio.h | 1 + - lib/eal/linux/eal_vfio_mp_sync.c | 8 ++++++++ + lib/librte_eal/linux/eal/eal.c | 4 ++++ + lib/librte_eal/linux/eal/eal_vfio.h | 1 + + lib/librte_eal/linux/eal/eal_vfio_mp_sync.c | 8 ++++++++ @@ -20,7 +21,7 @@ -diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c -index fad062a2dd..d77cd871be 100644 ---- a/lib/eal/linux/eal.c -+++ b/lib/eal/linux/eal.c -@@ -1276,7 +1276,11 @@ rte_eal_cleanup(void) - if (rte_eal_process_type() == RTE_PROC_PRIMARY && - internal_conf->hugepage_file.unlink_existing) +diff --git a/lib/librte_eal/linux/eal/eal.c b/lib/librte_eal/linux/eal/eal.c +index a2898705b6..5fa8c82c63 100644 +--- a/lib/librte_eal/linux/eal/eal.c ++++ b/lib/librte_eal/linux/eal/eal.c +@@ -1323,7 +1323,11 @@ rte_eal_cleanup(void) + */ + if (rte_eal_process_type() == RTE_PROC_PRIMARY) @@ -34,6 +35,6 @@ - /* after this point, any DPDK pointers will become dangling */ - rte_eal_memory_detach(); -diff --git a/lib/eal/linux/eal_vfio.h b/lib/eal/linux/eal_vfio.h -index c5d5f70548..bba5c7afa5 100644 ---- a/lib/eal/linux/eal_vfio.h -+++ b/lib/eal/linux/eal_vfio.h + eal_cleanup_config(&internal_config); + return 0; +diff --git a/lib/librte_eal/linux/eal/eal_vfio.h b/lib/librte_eal/linux/eal/eal_vfio.h +index 6ebaca6a0c..921ee59538 100644 +--- a/lib/librte_eal/linux/eal/eal_vfio.h ++++ b/lib/librte_eal/linux/eal/eal_vfio.h @@ -48,4 +49,4 @@ -diff --git a/lib/eal/linux/eal_vfio_mp_sync.c b/lib/eal/linux/eal_vfio_mp_sync.c -index a2accfab3a..d12bbaee64 100644 ---- a/lib/eal/linux/eal_vfio_mp_sync.c -+++ b/lib/eal/linux/eal_vfio_mp_sync.c +diff --git a/lib/librte_eal/linux/eal/eal_vfio_mp_sync.c b/lib/librte_eal/linux/eal/eal_vfio_mp_sync.c +index 6254696ae5..76877f5b54 100644 +--- a/lib/librte_eal/linux/eal/eal_vfio_mp_sync.c ++++ b/lib/librte_eal/linux/eal/eal_vfio_mp_sync.c