[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v10 09/17] rangeset: add rangeset_empty() function
- To: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>
- Date: Fri, 13 Oct 2023 13:54:56 -0400
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=epam.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=k1FO6rl2PQi7Hyf06Kdf1tfP1smy/xGo16oVHG8vb54=; b=k/2ZRIaYB8ovl6QEZ7m5pTEpwRLhcEbcCpgG4uES6iEOB0SntFLxhfDDUvURFgih9jeCthjNwF+WhgaF1MSlkrKsboo3UJHrxh/6z3wkzWwbShhDcw0/cGzMm+D3yVcGVeLCO4hOCay0YRBFFzrC2ZxS5aGLU2Or5nRUSD6qMGX68xQCrAaaXaMr4A3QFKMaeJDzG9xLsjy897ITxtCVg3/e6A/jv8U8Yb7oHvYeh/fjWPMQxpXBqzvnk9/rVmI4O6J298jEoD8C4WI8h2DGlzJnXFQU6weqf+UBPaMkSa7Z2xHoH3wjE1a17d1Hsrjaw9GzX1nEo2YhQrjqqtrfaA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IqUvKYONHodB9y1O2kMHo1wWl7W1dq37uBXw42+Vqo3PHIEKUPcn3l4vdVrqkYnYG33LkPVjrMUrN6vMfed7cBq0elgRgySB9oMdSQHYFumZ5U1jEx5b3ZdO9KiGNflk3eAPvaDF1nIi1IXB7ojHa0yToq3YijSkSTyQdrqd7XFmS0kbeb1tpTlpbZkQCArNyD/ccJKZaL4r9opYMKWOBFl2q+O8Z3rd8hKnVV1koxvHYj0zmXXAAaBdfzmmry9GjLwH+234il4Htod905LDDvZU4D7wipNScqPliQ/jtItdHY1J1hXcFUCBak4I1f4Mz0e3f3wojgtHIHkmfX7EmA==
- Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
- Delivery-date: Fri, 13 Oct 2023 17:55:08 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 10/12/23 18:09, Volodymyr Babchuk wrote:
> This function can be used when user wants to remove all rangeset
> entries but do not want to destroy rangeset itself.
>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@xxxxxxxx>
>
> ---
>
> Changes in v10:
>
> - New in v10. The function is used in "vpci/header: handle p2m range sets
> per BAR"
> ---
> xen/common/rangeset.c | 9 +++++++--
> xen/include/xen/rangeset.h | 3 ++-
> 2 files changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/xen/common/rangeset.c b/xen/common/rangeset.c
> index 35c3420885..420275669e 100644
> --- a/xen/common/rangeset.c
> +++ b/xen/common/rangeset.c
> @@ -448,8 +448,7 @@ struct rangeset *rangeset_new(
> return r;
> }
>
> -void rangeset_destroy(
> - struct rangeset *r)
> +void rangeset_empty(struct rangeset *r)
> {
> struct range *x;
>
> @@ -465,6 +464,12 @@ void rangeset_destroy(
>
> while ( (x = first_range(r)) != NULL )
> destroy_range(r, x);
> +}
> +
> +void rangeset_destroy(
> + struct rangeset *r)
> +{
> + rangeset_empty(r);
>
> xfree(r);
> }
I think the list_del(&r->rangeset_list) operation (and associated locking and
NULL check) shouldn't be moved to the new rangeset_empty() function, it should
stay in rangeset_destroy().
|