[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v18 05/10] xbitmap: add more operations
From: |
Matthew Wilcox |
Subject: |
Re: [Qemu-devel] [PATCH v18 05/10] xbitmap: add more operations |
Date: |
Thu, 30 Nov 2017 06:39:52 -0800 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
On Thu, Nov 30, 2017 at 10:35:03PM +0900, Tetsuo Handa wrote:
> According to xb_set_bit(), it seems to me that we are trying to avoid memory
> allocation
> for "struct ida_bitmap" when all set bits within a 1024-bits bitmap reside in
> the first
> 61 bits.
>
> But does such saving help? Is there characteristic bias that majority of set
> bits resides
> in the first 61 bits, for "bit" is "unsigned long" which holds a page number
> (isn't it)?
> If no such bias, wouldn't eliminating radix_tree_exception() case and always
> storing
> "struct ida_bitmap" simplifies the code (and make the processing faster)?
It happens all the time. The vast majority of users of the IDA set
low bits. Also, it's the first 62 bits -- going up to 63 bits with the
XArray rewrite.
I do plan to redo the xbitmap on top of the XArray; I'm just trying to
get the XArray merged first. The IDA and xbitmap code will share much
more code when that happens.
- [Qemu-devel] [PATCH v18 00/10] Virtio-balloon Enhancement, Wei Wang, 2017/11/29
- [Qemu-devel] [PATCH v18 04/10] xbitmap: potential improvement, Wei Wang, 2017/11/29
- [Qemu-devel] [PATCH v18 06/10] virtio_ring: add a new API, virtqueue_add_one_desc, Wei Wang, 2017/11/29
- [Qemu-devel] [PATCH v18 07/10] virtio-balloon: VIRTIO_BALLOON_F_SG, Wei Wang, 2017/11/29
- [Qemu-devel] [PATCH v18 08/10] mm: support reporting free page blocks, Wei Wang, 2017/11/29
- [Qemu-devel] [PATCH v18 09/10] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ, Wei Wang, 2017/11/29
- [Qemu-devel] [PATCH v18 10/10] virtio-balloon: don't report free pages when page poisoning is enabled, Wei Wang, 2017/11/29