* [Qemu-devel] comments on: get page size in device init
@ 2009-09-23 12:58 Michael S. Tsirkin
2009-09-23 17:07 ` [Qemu-devel] " Blue Swirl
0 siblings, 1 reply; 9+ messages in thread
From: Michael S. Tsirkin @ 2009-09-23 12:58 UTC (permalink / raw)
To: qemu-devel, anthony, Blue Swirl
> Compile msix only once
>
> Get page size in device init.
>
> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
What was the motivation for the page size change?
It seems the only user passes TARGET_PAGE_SIZE anyway,
using a constant seems clearer and probably generates
less code. No?
Did I miss this patch on qemu-devel? Generally, it's nice to have
patches posted to list to give people a chance to comment, before they
are pushed to the public tree. Right?
Finally, the 2 changes seem unrelated: why was it a good idea to bundle
them in one commit?
Thanks,
--
MST
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Qemu-devel] Re: comments on: get page size in device init
2009-09-23 12:58 [Qemu-devel] comments on: get page size in device init Michael S. Tsirkin
@ 2009-09-23 17:07 ` Blue Swirl
2009-09-23 18:02 ` Anthony Liguori
0 siblings, 1 reply; 9+ messages in thread
From: Blue Swirl @ 2009-09-23 17:07 UTC (permalink / raw)
To: Michael S. Tsirkin; +Cc: qemu-devel
On Wed, Sep 23, 2009 at 3:58 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
>> Compile msix only once
>>
>> Get page size in device init.
>>
>> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>
> What was the motivation for the page size change?
"Compile msix only once"
> It seems the only user passes TARGET_PAGE_SIZE anyway,
> using a constant seems clearer and probably generates
> less code. No?
Yes, but then the code would depend on TARGET_PAGE_SIZE, making it
impossible to compile the code only once.
Moreover, devices in general (with the exception of maybe virtio and
Xen devices and horrible abominations like vmmouse/vmport) should have
no knowledge about the CPU. TARGET_PAGE_SIZE is a parameter of the
CPU, no device should need to use it. Therefore this commit is
actually a cleanup.
> Did I miss this patch on qemu-devel? Generally, it's nice to have
> patches posted to list to give people a chance to comment, before they
> are pushed to the public tree. Right?
No, you did not miss anything. I was not nice, sorry about that.
> Finally, the 2 changes seem unrelated: why was it a good idea to bundle
> them in one commit?
Which 2 changes are you referring to? I think all changes are necessary.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Qemu-devel] Re: comments on: get page size in device init
2009-09-23 17:07 ` [Qemu-devel] " Blue Swirl
@ 2009-09-23 18:02 ` Anthony Liguori
2009-09-23 18:40 ` Michael S. Tsirkin
0 siblings, 1 reply; 9+ messages in thread
From: Anthony Liguori @ 2009-09-23 18:02 UTC (permalink / raw)
To: Blue Swirl; +Cc: qemu-devel, Michael S. Tsirkin
Blue Swirl wrote:
> On Wed, Sep 23, 2009 at 3:58 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
>
>>> Compile msix only once
>>>
>>> Get page size in device init.
>>>
>>> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>>>
>> What was the motivation for the page size change?
>>
>
> "Compile msix only once"
>
>
>> It seems the only user passes TARGET_PAGE_SIZE anyway,
>> using a constant seems clearer and probably generates
>> less code. No?
>>
>
> Yes, but then the code would depend on TARGET_PAGE_SIZE, making it
> impossible to compile the code only once.
>
We could probably get away with doing
#define TARGET_PAGE_SIZE target_get_page_size()
And take care of a big chunk of this without passing page size
parameters around.
Regards,
Anthony Liguori
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Qemu-devel] Re: comments on: get page size in device init
2009-09-23 18:02 ` Anthony Liguori
@ 2009-09-23 18:40 ` Michael S. Tsirkin
2009-09-23 19:03 ` Blue Swirl
0 siblings, 1 reply; 9+ messages in thread
From: Michael S. Tsirkin @ 2009-09-23 18:40 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Blue Swirl, qemu-devel
On Wed, Sep 23, 2009 at 01:02:56PM -0500, Anthony Liguori wrote:
> Blue Swirl wrote:
>> On Wed, Sep 23, 2009 at 3:58 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
>>
>>>> Compile msix only once
>>>>
>>>> Get page size in device init.
>>>>
>>>> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>>>>
>>> What was the motivation for the page size change?
>>>
>>
>> "Compile msix only once"
>>
>>
>>> It seems the only user passes TARGET_PAGE_SIZE anyway,
>>> using a constant seems clearer and probably generates
>>> less code. No?
>>>
>>
>> Yes, but then the code would depend on TARGET_PAGE_SIZE, making it
>> impossible to compile the code only once.
>>
>
> We could probably get away with doing
>
> #define TARGET_PAGE_SIZE target_get_page_size()
>
> And take care of a big chunk of this without passing page size
> parameters around.
Sounds good.
> Regards,
>
> Anthony Liguori
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Qemu-devel] Re: comments on: get page size in device init
2009-09-23 18:40 ` Michael S. Tsirkin
@ 2009-09-23 19:03 ` Blue Swirl
2009-09-23 19:13 ` Michael S. Tsirkin
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Blue Swirl @ 2009-09-23 19:03 UTC (permalink / raw)
To: Michael S. Tsirkin; +Cc: qemu-devel
On Wed, Sep 23, 2009 at 9:40 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
> On Wed, Sep 23, 2009 at 01:02:56PM -0500, Anthony Liguori wrote:
>> Blue Swirl wrote:
>>> On Wed, Sep 23, 2009 at 3:58 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
>>>
>>>>> Compile msix only once
>>>>>
>>>>> Get page size in device init.
>>>>>
>>>>> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>>>>>
>>>> What was the motivation for the page size change?
>>>>
>>>
>>> "Compile msix only once"
>>>
>>>
>>>> It seems the only user passes TARGET_PAGE_SIZE anyway,
>>>> using a constant seems clearer and probably generates
>>>> less code. No?
>>>>
>>>
>>> Yes, but then the code would depend on TARGET_PAGE_SIZE, making it
>>> impossible to compile the code only once.
>>>
>>
>> We could probably get away with doing
>>
>> #define TARGET_PAGE_SIZE target_get_page_size()
>>
>> And take care of a big chunk of this without passing page size
>> parameters around.
>
>
> Sounds good.
That would work and target_get_page_size() together with
get_ram_size() would also handle the virtio case nicely, except for
the if (!kvm_enabled() || kvm_has_sync_mmu()) part.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Qemu-devel] Re: comments on: get page size in device init
2009-09-23 19:03 ` Blue Swirl
@ 2009-09-23 19:13 ` Michael S. Tsirkin
2009-09-23 19:59 ` Blue Swirl
2009-09-23 19:19 ` Michael S. Tsirkin
2009-09-23 20:35 ` Anthony Liguori
2 siblings, 1 reply; 9+ messages in thread
From: Michael S. Tsirkin @ 2009-09-23 19:13 UTC (permalink / raw)
To: Blue Swirl; +Cc: qemu-devel
On Wed, Sep 23, 2009 at 10:03:26PM +0300, Blue Swirl wrote:
> On Wed, Sep 23, 2009 at 9:40 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
> > On Wed, Sep 23, 2009 at 01:02:56PM -0500, Anthony Liguori wrote:
> >> Blue Swirl wrote:
> >>> On Wed, Sep 23, 2009 at 3:58 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
> >>>
> >>>>> Compile msix only once
> >>>>>
> >>>>> Get page size in device init.
> >>>>>
> >>>>> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> >>>>>
> >>>> What was the motivation for the page size change?
> >>>>
> >>>
> >>> "Compile msix only once"
> >>>
> >>>
> >>>> It seems the only user passes TARGET_PAGE_SIZE anyway,
> >>>> using a constant seems clearer and probably generates
> >>>> less code. No?
> >>>>
> >>>
> >>> Yes, but then the code would depend on TARGET_PAGE_SIZE, making it
> >>> impossible to compile the code only once.
> >>>
> >>
> >> We could probably get away with doing
> >>
> >> #define TARGET_PAGE_SIZE target_get_page_size()
> >>
> >> And take care of a big chunk of this without passing page size
> >> parameters around.
> >
> >
> > Sounds good.
>
> That would work and target_get_page_size() together with
> get_ram_size() would also handle the virtio case nicely, except for
> the if (!kvm_enabled() || kvm_has_sync_mmu()) part.
Where's get_ram_size needed?
--
MST
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Qemu-devel] Re: comments on: get page size in device init
2009-09-23 19:03 ` Blue Swirl
2009-09-23 19:13 ` Michael S. Tsirkin
@ 2009-09-23 19:19 ` Michael S. Tsirkin
2009-09-23 20:35 ` Anthony Liguori
2 siblings, 0 replies; 9+ messages in thread
From: Michael S. Tsirkin @ 2009-09-23 19:19 UTC (permalink / raw)
To: Blue Swirl; +Cc: qemu-devel
On Wed, Sep 23, 2009 at 10:03:26PM +0300, Blue Swirl wrote:
> On Wed, Sep 23, 2009 at 9:40 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
> > On Wed, Sep 23, 2009 at 01:02:56PM -0500, Anthony Liguori wrote:
> >> Blue Swirl wrote:
> >>> On Wed, Sep 23, 2009 at 3:58 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
> >>>
> >>>>> Compile msix only once
> >>>>>
> >>>>> Get page size in device init.
> >>>>>
> >>>>> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> >>>>>
> >>>> What was the motivation for the page size change?
> >>>>
> >>>
> >>> "Compile msix only once"
> >>>
> >>>
> >>>> It seems the only user passes TARGET_PAGE_SIZE anyway,
> >>>> using a constant seems clearer and probably generates
> >>>> less code. No?
> >>>>
> >>>
> >>> Yes, but then the code would depend on TARGET_PAGE_SIZE, making it
> >>> impossible to compile the code only once.
> >>>
> >>
> >> We could probably get away with doing
> >>
> >> #define TARGET_PAGE_SIZE target_get_page_size()
> >>
> >> And take care of a big chunk of this without passing page size
> >> parameters around.
> >
> >
> > Sounds good.
>
> That would work and target_get_page_size() together with
> get_ram_size() would also handle the virtio case nicely, except for
> the if (!kvm_enabled() || kvm_has_sync_mmu()) part.
OK, I did and just sent the msix part, virtio can come on top.
--
MST
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Qemu-devel] Re: comments on: get page size in device init
2009-09-23 19:13 ` Michael S. Tsirkin
@ 2009-09-23 19:59 ` Blue Swirl
0 siblings, 0 replies; 9+ messages in thread
From: Blue Swirl @ 2009-09-23 19:59 UTC (permalink / raw)
To: Michael S. Tsirkin; +Cc: qemu-devel
On Wed, Sep 23, 2009 at 10:13 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
> On Wed, Sep 23, 2009 at 10:03:26PM +0300, Blue Swirl wrote:
>> On Wed, Sep 23, 2009 at 9:40 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
>> > On Wed, Sep 23, 2009 at 01:02:56PM -0500, Anthony Liguori wrote:
>> >> Blue Swirl wrote:
>> >>> On Wed, Sep 23, 2009 at 3:58 PM, Michael S. Tsirkin <mst@redhat.com> wrote:
>> >>>
>> >>>>> Compile msix only once
>> >>>>>
>> >>>>> Get page size in device init.
>> >>>>>
>> >>>>> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>> >>>>>
>> >>>> What was the motivation for the page size change?
>> >>>>
>> >>>
>> >>> "Compile msix only once"
>> >>>
>> >>>
>> >>>> It seems the only user passes TARGET_PAGE_SIZE anyway,
>> >>>> using a constant seems clearer and probably generates
>> >>>> less code. No?
>> >>>>
>> >>>
>> >>> Yes, but then the code would depend on TARGET_PAGE_SIZE, making it
>> >>> impossible to compile the code only once.
>> >>>
>> >>
>> >> We could probably get away with doing
>> >>
>> >> #define TARGET_PAGE_SIZE target_get_page_size()
>> >>
>> >> And take care of a big chunk of this without passing page size
>> >> parameters around.
>> >
>> >
>> > Sounds good.
>>
>> That would work and target_get_page_size() together with
>> get_ram_size() would also handle the virtio case nicely, except for
>> the if (!kvm_enabled() || kvm_has_sync_mmu()) part.
>
> Where's get_ram_size needed?
In virtio-balloon.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Qemu-devel] Re: comments on: get page size in device init
2009-09-23 19:03 ` Blue Swirl
2009-09-23 19:13 ` Michael S. Tsirkin
2009-09-23 19:19 ` Michael S. Tsirkin
@ 2009-09-23 20:35 ` Anthony Liguori
2 siblings, 0 replies; 9+ messages in thread
From: Anthony Liguori @ 2009-09-23 20:35 UTC (permalink / raw)
To: Blue Swirl; +Cc: qemu-devel, Michael S. Tsirkin
Blue Swirl wrote:
> That would work and target_get_page_size() together with
> get_ram_size() would also handle the virtio case nicely, except for
> the if (!kvm_enabled() || kvm_has_sync_mmu()) part.
>
We probably want to introduce a qemu_zero_memory_page() that includes
that check. We have the same basic check during memory loading too.
Regards,
Anthony Liguori
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2009-09-23 20:36 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-23 12:58 [Qemu-devel] comments on: get page size in device init Michael S. Tsirkin
2009-09-23 17:07 ` [Qemu-devel] " Blue Swirl
2009-09-23 18:02 ` Anthony Liguori
2009-09-23 18:40 ` Michael S. Tsirkin
2009-09-23 19:03 ` Blue Swirl
2009-09-23 19:13 ` Michael S. Tsirkin
2009-09-23 19:59 ` Blue Swirl
2009-09-23 19:19 ` Michael S. Tsirkin
2009-09-23 20:35 ` Anthony Liguori
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).