[Xen-devel] [PATCH v2] x86/mem_sharing: Fix RANDCONFIG build

Andrew Cooper posted 1 patch 6 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/xen tags/patchew/20200108172428.28672-1-andrew.cooper3@citrix.com
xen/arch/x86/mm/mem_sharing.c | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)

[Xen-devel] [PATCH v2] x86/mem_sharing: Fix RANDCONFIG build

Posted by Andrew Cooper 6 weeks ago
Travis reports: https://travis-ci.org/andyhhp/xen/jobs/633751811

  mem_sharing.c:361:13: error: 'rmap_has_entries' defined but not used [-Werror=unused-function]
   static bool rmap_has_entries(const struct page_info *page)
               ^
  cc1: all warnings being treated as errors

This happens in a release build (disables MEM_SHARING_AUDIT) when
CONFIG_MEM_SHARING is enabled.

Expand both trivial helpers into their single callsite.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Tamas K Lengyel <tamas@tklengyel.com>

v2:
 * Expand, rather than mark as __maybe_unused
---
 xen/arch/x86/mm/mem_sharing.c | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index ddf1f0f9f9..64dd3689df 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -351,18 +351,6 @@ static gfn_info_t *rmap_retrieve(uint16_t domain_id, unsigned long gfn,
     return NULL;
 }
 
-/* Returns true if the rmap has only one entry. O(1) complexity. */
-static bool rmap_has_one_entry(const struct page_info *page)
-{
-    return rmap_count(page) == 1;
-}
-
-/* Returns true if the rmap has any entries. O(1) complexity. */
-static bool rmap_has_entries(const struct page_info *page)
-{
-    return rmap_count(page) != 0;
-}
-
 /*
  * The iterator hides the details of how the rmap is implemented. This
  * involves splitting the list_for_each_safe macro into two steps.
@@ -531,7 +519,7 @@ static int audit(void)
         }
 
         /* Check we have a list */
-        if ( (!pg->sharing) || !rmap_has_entries(pg) )
+        if ( (!pg->sharing) || rmap_count(pg) == 0 )
         {
             MEM_SHARING_DEBUG("mfn %lx shared, but empty gfn list!\n",
                               mfn_x(mfn));
@@ -1220,7 +1208,7 @@ int __mem_sharing_unshare_page(struct domain *d,
      * Do the accounting first. If anything fails below, we have bigger
      * bigger fish to fry. First, remove the gfn from the list.
      */
-    last_gfn = rmap_has_one_entry(page);
+    last_gfn = rmap_count(page) == 1;
     if ( last_gfn )
     {
         /*
-- 
2.11.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v2] x86/mem_sharing: Fix RANDCONFIG build

Posted by Tamas K Lengyel 6 weeks ago
On Wed, Jan 8, 2020 at 10:24 AM Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>
> Travis reports: https://travis-ci.org/andyhhp/xen/jobs/633751811
>
>   mem_sharing.c:361:13: error: 'rmap_has_entries' defined but not used [-Werror=unused-function]
>    static bool rmap_has_entries(const struct page_info *page)
>                ^
>   cc1: all warnings being treated as errors
>
> This happens in a release build (disables MEM_SHARING_AUDIT) when
> CONFIG_MEM_SHARING is enabled.
>
> Expand both trivial helpers into their single callsite.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks!

Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel