xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1] libxc/bitops: increase potential size of bitmaps
@ 2020-09-24 18:08 Olaf Hering
  2020-09-24 20:12 ` Andrew Cooper
  2020-09-30 15:10 ` Wei Liu
  0 siblings, 2 replies; 3+ messages in thread
From: Olaf Hering @ 2020-09-24 18:08 UTC (permalink / raw)
  To: xen-devel; +Cc: Olaf Hering, Ian Jackson, Wei Liu

If the bitmap is used to represent domU pages, the amount of memory is
limited to 8TB due to the 32bit value. Adjust the code to use 64bit
values as input. All callers already use some form of 64bit as input,
so no further adjustment is required.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
---
 tools/libs/ctrl/xc_bitops.h | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/tools/libs/ctrl/xc_bitops.h b/tools/libs/ctrl/xc_bitops.h
index 0951e8267d..3d3a09772a 100644
--- a/tools/libs/ctrl/xc_bitops.h
+++ b/tools/libs/ctrl/xc_bitops.h
@@ -14,52 +14,52 @@
 #define BITMAP_SHIFT(_nr) ((_nr) % 8)
 
 /* calculate required space for number of bytes needed to hold nr_bits */
-static inline int bitmap_size(int nr_bits)
+static inline unsigned long bitmap_size(unsigned long nr_bits)
 {
     return (nr_bits + 7) / 8;
 }
 
-static inline void *bitmap_alloc(int nr_bits)
+static inline void *bitmap_alloc(unsigned long nr_bits)
 {
     return calloc(1, bitmap_size(nr_bits));
 }
 
-static inline void bitmap_set(void *addr, int nr_bits)
+static inline void bitmap_set(void *addr, unsigned long nr_bits)
 {
     memset(addr, 0xff, bitmap_size(nr_bits));
 }
 
-static inline void bitmap_clear(void *addr, int nr_bits)
+static inline void bitmap_clear(void *addr, unsigned long nr_bits)
 {
     memset(addr, 0, bitmap_size(nr_bits));
 }
 
-static inline int test_bit(int nr, const void *_addr)
+static inline int test_bit(unsigned long nr, const void *_addr)
 {
     const char *addr = _addr;
     return (BITMAP_ENTRY(nr, addr) >> BITMAP_SHIFT(nr)) & 1;
 }
 
-static inline void clear_bit(int nr, void *_addr)
+static inline void clear_bit(unsigned long nr, void *_addr)
 {
     char *addr = _addr;
     BITMAP_ENTRY(nr, addr) &= ~(1UL << BITMAP_SHIFT(nr));
 }
 
-static inline void set_bit(int nr, void *_addr)
+static inline void set_bit(unsigned long nr, void *_addr)
 {
     char *addr = _addr;
     BITMAP_ENTRY(nr, addr) |= (1UL << BITMAP_SHIFT(nr));
 }
 
-static inline int test_and_clear_bit(int nr, void *addr)
+static inline int test_and_clear_bit(unsigned long nr, void *addr)
 {
     int oldbit = test_bit(nr, addr);
     clear_bit(nr, addr);
     return oldbit;
 }
 
-static inline int test_and_set_bit(int nr, void *addr)
+static inline int test_and_set_bit(unsigned long nr, void *addr)
 {
     int oldbit = test_bit(nr, addr);
     set_bit(nr, addr);
@@ -67,11 +67,11 @@ static inline int test_and_set_bit(int nr, void *addr)
 }
 
 static inline void bitmap_or(void *_dst, const void *_other,
-                             int nr_bits)
+                             unsigned long nr_bits)
 {
     char *dst = _dst;
     const char *other = _other;
-    int i;
+    unsigned long i;
     for ( i = 0; i < bitmap_size(nr_bits); ++i )
         dst[i] |= other[i];
 }


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v1] libxc/bitops: increase potential size of bitmaps
  2020-09-24 18:08 [PATCH v1] libxc/bitops: increase potential size of bitmaps Olaf Hering
@ 2020-09-24 20:12 ` Andrew Cooper
  2020-09-30 15:10 ` Wei Liu
  1 sibling, 0 replies; 3+ messages in thread
From: Andrew Cooper @ 2020-09-24 20:12 UTC (permalink / raw)
  To: Olaf Hering, xen-devel; +Cc: Ian Jackson, Wei Liu

On 24/09/2020 19:08, Olaf Hering wrote:
> If the bitmap is used to represent domU pages, the amount of memory is
> limited to 8TB due to the 32bit value. Adjust the code to use 64bit
> values as input. All callers already use some form of 64bit as input,
> so no further adjustment is required.
>
> Signed-off-by: Olaf Hering <olaf@aepfle.de>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

I definitely should have pushed harder to do this the first time around...


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v1] libxc/bitops: increase potential size of bitmaps
  2020-09-24 18:08 [PATCH v1] libxc/bitops: increase potential size of bitmaps Olaf Hering
  2020-09-24 20:12 ` Andrew Cooper
@ 2020-09-30 15:10 ` Wei Liu
  1 sibling, 0 replies; 3+ messages in thread
From: Wei Liu @ 2020-09-30 15:10 UTC (permalink / raw)
  To: Olaf Hering; +Cc: xen-devel, Ian Jackson, Wei Liu

On Thu, Sep 24, 2020 at 08:08:43PM +0200, Olaf Hering wrote:
> If the bitmap is used to represent domU pages, the amount of memory is
> limited to 8TB due to the 32bit value. Adjust the code to use 64bit
> values as input. All callers already use some form of 64bit as input,
> so no further adjustment is required.
> 
> Signed-off-by: Olaf Hering <olaf@aepfle.de>

Acked-by: Wei Liu <wl@xen.org>


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-09-30 15:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-24 18:08 [PATCH v1] libxc/bitops: increase potential size of bitmaps Olaf Hering
2020-09-24 20:12 ` Andrew Cooper
2020-09-30 15:10 ` Wei Liu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).