[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().



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.