From: Wei Wang <wei.w.wang@intel.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>,
"virtio-dev@lists.oasis-open.org"
<virtio-dev@lists.oasis-open.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"virtualization@lists.linux-foundation.org"
<virtualization@lists.linux-foundation.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"mst@redhat.com" <mst@redhat.com>,
"mhocko@kernel.org" <mhocko@kernel.org>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
"mawilcox@microsoft.com" <mawilcox@microsoft.com>,
"david@redhat.com" <david@redhat.com>,
"cornelia.huck@de.ibm.com" <cornelia.huck@de.ibm.com>,
"mgorman@techsingularity.net" <mgorman@techsingularity.net>,
"aarcange@redhat.com" <aarcange@redhat.com>,
"amit.shah@redhat.com" <amit.shah@redhat.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"liliang.opensource@gmail.com" <liliang.opensource@gmail.com>,
"yang.zhang.wz@gmail.com" <yang.zhang.wz@gmail.com>,
"quan.xu0@gmail.com" <quan.xu0@gmail.com>,
"nilal@redhat.com" <nilal@redhat.com>,
"riel@redhat.com" <riel@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v20 0/7] Virtio-balloon Enhancement
Date: Thu, 21 Dec 2017 10:49:44 +0800 [thread overview]
Message-ID: <5A3B2148.8050306@intel.com> (raw)
In-Reply-To: <20171220171019.GA12236@bombadil.infradead.org>
On 12/21/2017 01:10 AM, Matthew Wilcox wrote:
> On Wed, Dec 20, 2017 at 04:13:16PM +0000, Wang, Wei W wrote:
>> On Wednesday, December 20, 2017 8:26 PM, Matthew Wilcox wrote:
>>> unsigned long bit;
>>> xb_preload(GFP_KERNEL);
>>> xb_set_bit(xb, 700);
>>> xb_preload_end();
>>> bit = xb_find_set(xb, ULONG_MAX, 0);
>>> assert(bit == 700);
>> This above test will result in "!node with bitmap !=NULL", and it goes to the regular "if (bitmap)" path, which finds 700.
>>
>> A better test would be
>> ...
>> xb_set_bit(xb, 700);
>> assert(xb_find_set(xb, ULONG_MAX, 800) == ULONG_MAX);
>> ...
> I decided to write a test case to show you what I meant, then I discovered
> the test suite didn't build, then the test I wrote took forever to run, so
> I rewrote xb_find_set() using the radix tree iterators. So I have no idea
> what bugs may be in your implementation, but at least this function passes
> the current test suite. Of course, there may be gaps in the test suite.
> And since I changed the API to not have the ambiguous return value, I
> also changed the test suite, and maybe I introduced a bug.
Thanks for the effort. That's actually caused by the previous "!node"
path, which incorrectly changed "index = (index | RADIX_TREE_MAP_MASK) +
1". With the change below, it will run pretty well with the test cases.
if (!node && !bitmap)
return size;
Would you mind to have a try with the v20 RESEND patch that was just
shared? It makes the above change and added the test case you suggested?
One more question is about the return value, why would it be ambiguous?
I think it is the same as find_next_bit() which returns the found bit or
size if not found.
Best,
Wei
next prev parent reply other threads:[~2017-12-21 2:47 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-19 12:17 [Qemu-devel] [PATCH v20 0/7] Virtio-balloon Enhancement Wei Wang
2017-12-19 12:17 ` [Qemu-devel] [PATCH v20 1/7] xbitmap: Introduce xbitmap Wei Wang
2017-12-19 15:58 ` Philippe Ombredanne
2017-12-19 12:17 ` [Qemu-devel] [PATCH v20 2/7] xbitmap: potential improvement Wei Wang
2017-12-19 12:17 ` [Qemu-devel] [PATCH v20 3/7] xbitmap: add more operations Wei Wang
2017-12-19 12:17 ` [Qemu-devel] [PATCH v20 4/7] virtio-balloon: VIRTIO_BALLOON_F_SG Wei Wang
2017-12-24 3:21 ` Matthew Wilcox
2017-12-24 4:45 ` Tetsuo Handa
2017-12-24 7:42 ` Wei Wang
2017-12-24 8:16 ` [Qemu-devel] [virtio-dev] " Wei Wang
2017-12-25 14:51 ` [Qemu-devel] " Tetsuo Handa
2017-12-26 3:06 ` Wei Wang
2017-12-26 10:38 ` Tetsuo Handa
2017-12-26 11:36 ` Wei Wang
2017-12-26 13:40 ` Tetsuo Handa
2018-01-02 13:24 ` Matthew Wilcox
2018-01-03 2:29 ` Tetsuo Handa
2018-01-03 9:00 ` Wei Wang
2018-01-03 10:19 ` Tetsuo Handa
2017-12-19 12:17 ` [Qemu-devel] [PATCH v20 5/7] mm: support reporting free page blocks Wei Wang
2017-12-19 12:17 ` [Qemu-devel] [PATCH v20 6/7] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ Wei Wang
2017-12-19 12:17 ` [Qemu-devel] [PATCH v20 7/7] virtio-balloon: don't report free pages when page poisoning is enabled Wei Wang
2017-12-19 14:05 ` [Qemu-devel] [PATCH v20 0/7] Virtio-balloon Enhancement Tetsuo Handa
2017-12-19 14:40 ` Matthew Wilcox
2017-12-20 2:33 ` Tetsuo Handa
2017-12-19 18:08 ` Michael S. Tsirkin
2017-12-20 10:34 ` Wei Wang
2017-12-20 12:25 ` Matthew Wilcox
2017-12-20 16:13 ` Wang, Wei W
2017-12-20 17:10 ` Matthew Wilcox
2017-12-21 2:49 ` Wei Wang [this message]
2017-12-21 12:14 ` Matthew Wilcox
2017-12-21 12:56 ` Tetsuo Handa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5A3B2148.8050306@intel.com \
--to=wei.w.wang@intel.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=amit.shah@redhat.com \
--cc=cornelia.huck@de.ibm.com \
--cc=david@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=liliang.opensource@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mawilcox@microsoft.com \
--cc=mgorman@techsingularity.net \
--cc=mhocko@kernel.org \
--cc=mst@redhat.com \
--cc=nilal@redhat.com \
--cc=pbonzini@redhat.com \
--cc=penguin-kernel@I-love.SAKURA.ne.jp \
--cc=qemu-devel@nongnu.org \
--cc=quan.xu0@gmail.com \
--cc=riel@redhat.com \
--cc=virtio-dev@lists.oasis-open.org \
--cc=virtualization@lists.linux-foundation.org \
--cc=willy@infradead.org \
--cc=yang.zhang.wz@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).