From: Avi Kivity <avi@redhat.com>
To: Glauber Costa <glommer@redhat.com>
Cc: kvm@vger.kernel.org, aliguori@us.ibm.com
Subject: Re: [PATCH 3/9] allow intersecting region to be on the boundary.
Date: Tue, 23 Sep 2008 13:30:41 +0300 [thread overview]
Message-ID: <48D8C551.6000207@redhat.com> (raw)
In-Reply-To: <20080922134804.GB3618@poweredge.glommer>
Glauber Costa wrote:
> On Sat, Sep 20, 2008 at 11:32:48AM -0700, Avi Kivity wrote:
>
>> Glauber Costa wrote:
>>
>>> Signed-off-by: Glauber Costa <glommer@redhat.com>
>>> ---
>>> libkvm/libkvm.c | 4 ++--
>>> 1 files changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
>>> index e768e44..fa65c30 100644
>>> --- a/libkvm/libkvm.c
>>> +++ b/libkvm/libkvm.c
>>> @@ -130,8 +130,8 @@ int get_intersecting_slot(unsigned long phys_addr)
>>> int i;
>>> for (i = 0; i < KVM_MAX_NUM_MEM_REGIONS ; ++i)
>>> - if (slots[i].len && slots[i].phys_addr < phys_addr &&
>>> - (slots[i].phys_addr + slots[i].len) > phys_addr)
>>> + if (slots[i].len && slots[i].phys_addr <= phys_addr &&
>>> + (slots[i].phys_addr + slots[i].len) >= phys_addr)
>>> return i;
>>> return -1;
>>>
>>>
>> consider
>>
>> slots[i].phys_addr = 0
>> slots[i].len = 1
>> phys_addr = 1
>>
>> with the new calculation, i (well, not me personally) will be considered
>> an intersecting slot.
>>
>> Not that I (me this time) can understand how you can calculate interval
>> intersection without the entire interval.
>>
> would you be fine with checking only the left interval?
>
>
You mean the left edge? That's what we're doing now. No checking or
complete checking are understandable, but partial checking seems an
invitation for something to break.
> But to be honest, look at:
>
> r = kvm_is_containing_region(kvm_context, start_addr, size);
> if (r)
> return;
>
> [ sip ]
>
> r = kvm_is_intersecting_mem(kvm_context, start_addr);
> if (r) {
> printf("Ignoring intersecting memory %llx (%lx)\n", start_addr, size);
>
> We don't really do anything, which is the same action as the containing region case.
> So maybe we should just merge the two checks, and do the same thing (nothing) on both?
>
Yes. So long as it's self-consistent, which the current code (before
your patches) isn't.
Does no one read this code before merging it?!
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2008-09-23 10:30 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-19 16:08 [PATCHEY 0/9] Rrrreplace the ol' scurvy memory registration Glauber Costa
2008-09-19 16:08 ` [PATCH 1/9] Don't separate registrations with IO_MEM_ROM set Glauber Costa
2008-09-19 16:08 ` [PATCH 2/9] do not use mem_hole anymore Glauber Costa
2008-09-19 16:08 ` [PATCH 3/9] allow intersecting region to be on the boundary Glauber Costa
2008-09-20 18:32 ` Avi Kivity
2008-09-22 13:48 ` Glauber Costa
2008-09-23 10:30 ` Avi Kivity [this message]
2008-09-23 16:18 ` Glauber Costa
2008-09-19 16:08 ` [PATCH 4/9] substitute is_allocated_mem with more general is_containing_region Glauber Costa
2008-09-20 18:33 ` Avi Kivity
2008-09-22 13:51 ` Glauber Costa
2008-09-23 7:35 ` Avi Kivity
2008-09-23 16:19 ` Glauber Costa
2008-09-19 16:08 ` [PATCH 5/9] add debuging facilities to memory registration at libkvm Glauber Costa
2008-09-20 18:34 ` Avi Kivity
2008-09-22 13:52 ` Glauber Costa
2008-09-19 16:08 ` [PATCH 6/9] unregister memory area depending on their flags Glauber Costa
2008-09-19 16:08 ` [PATCH 7/9] register mmio slots Glauber Costa
2008-09-20 18:38 ` Avi Kivity
2008-09-22 13:55 ` Glauber Costa
2008-09-23 7:31 ` Avi Kivity
2008-09-23 16:48 ` Glauber Costa
2008-09-19 16:08 ` [PATCH 8/9] coalesce mmio regions with an explicit call Glauber Costa
2008-09-20 18:39 ` Avi Kivity
2008-09-22 13:56 ` Glauber Costa
2008-09-23 7:29 ` Avi Kivity
2008-09-23 16:22 ` Glauber Costa
2008-09-24 11:10 ` Avi Kivity
2008-09-24 21:59 ` Glauber Costa
2008-09-25 7:08 ` Avi Kivity
2008-09-25 11:19 ` Glauber Costa
2009-04-17 14:04 ` Dmitry Eremin-Solenikov
2008-09-19 16:08 ` [PATCH 9/9] move kvm memory registration inside qemu's Glauber Costa
2008-09-19 16:33 ` Jan Kiszka
-- strict thread matches above, loose matches on Subject: below --
2008-09-12 15:10 [PATCH 0/9] Simplify memory registration Glauber Costa
2008-09-12 15:10 ` [PATCH 3/9] allow intersecting region to be on the boundary Glauber Costa
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=48D8C551.6000207@redhat.com \
--to=avi@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=glommer@redhat.com \
--cc=kvm@vger.kernel.org \
/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).