From: Igor Mammedov <imammedo@redhat.com>
To: BALATON Zoltan <balaton@eik.bme.hu>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
Bernhard Beschow <shentey@gmail.com>,
qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <richard.henderson@linaro.org>,
Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
Eduardo Habkost <eduardo@habkost.net>
Subject: Re: [PATCH 02/15] hw/pci-host/q35: Fix double, contradicting .endianness assignment
Date: Tue, 13 Jun 2023 15:05:02 +0200 [thread overview]
Message-ID: <20230613150502.74e46018@imammedo.users.ipa.redhat.com> (raw)
In-Reply-To: <0ff30d22-25f9-750e-3ec1-f0988eee5668@eik.bme.hu>
On Tue, 13 Jun 2023 13:07:17 +0200 (CEST)
BALATON Zoltan <balaton@eik.bme.hu> wrote:
> On Tue, 13 Jun 2023, Michael S. Tsirkin wrote:
> > On Tue, Jun 13, 2023 at 09:46:53AM +0200, Bernhard Beschow wrote:
> >> On Mon, Jun 12, 2023 at 3:01 PM Igor Mammedov <imammedo@redhat.com> wrote:
> >>
> >> On Sun, 11 Jun 2023 12:33:59 +0200
> >> Bernhard Beschow <shentey@gmail.com> wrote:
> >>
> >> > Fixes the following clangd warning (-Winitializer-overrides):
> >> >
> >> > q35.c:297:19: Initializer overrides prior initialization of this
> >> subobject
> >> > q35.c:292:19: previous initialization is here
> >> >
> >> > Settle on native endian which causes the least overhead.
> >> indeed it doesn't matter which way we read all ones, so that should work.
> >> but does it really matter (I mean the overhead/what workload)?
> >> If not, I'd prefer explicit LE as it's now to be consistent
> >> the the rest of memops on Q35.
> >>
> >>
> >> I got a comment from Michael about this in [1], so I've changed it. I don't
> >> mind changing it either way.
> >>
> >> Best regards,
> >> Bernhard
> >>
> >> [1] https://patchew.org/QEMU/20230214131441.101760-1-shentey@gmail.com/
> >> 20230214131441.101760-3-shentey@gmail.com/#
> >> 20230301164339-mutt-send-email-mst@kernel.org
> >
> > Hmm it's not terribly important, and the optimization is trivial,
> > but yes people tend to copy code, good point. Maybe add a comment?
> > /*
> > * Note: don't copy this! normally use DEVICE_LITTLE_ENDIAN. This only
> > * works because we don't allow writes and always read all-ones.
> > */
>
> Why don't you leave DEVICE_LITTLE_ENDIAN and remove DEVICE_NATIVE_ENDIAN
> instead? If this only returns all 1s then it does not matter and also
> DEVICE_LITTLE_ENDIAN was the last assignment so likely that was effective
> so far anyway.
I'm in favor of this as well,
the 'optimization' and then piling comments on top to clarify confusion
should be justified by usefulness of it (no perf numbers/usecase were present so far).
In absence of above, I'd prefer real hw behavior (LE in this case).
>
> Regards,
> BALATON Zoltan
>
> >>
> >> >
> >> > Fixes: bafc90bdc594 ("q35: implement TSEG")
> >> > Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> >> > ---
> >> > hw/pci-host/q35.c | 1 -
> >> > 1 file changed, 1 deletion(-)
> >> >
> >> > diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c
> >> > index fd18920e7f..859c197f25 100644
> >> > --- a/hw/pci-host/q35.c
> >> > +++ b/hw/pci-host/q35.c
> >> > @@ -290,7 +290,6 @@ static const MemoryRegionOps blackhole_ops = {
> >> > .valid.max_access_size = 4,
> >> > .impl.min_access_size = 4,
> >> > .impl.max_access_size = 4,
> >> > - .endianness = DEVICE_LITTLE_ENDIAN,
> >> > };
> >> >
> >> > /* PCIe MMCFG */
> >>
> >>
> >
> >
> >
next prev parent reply other threads:[~2023-06-13 13:06 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-11 10:33 [PATCH 00/15] Q35 and I440FX host bridge QOM cleanup Bernhard Beschow
2023-06-11 10:33 ` [PATCH 01/15] hw/i386/pc_q35: Resolve redundant q35_host variable Bernhard Beschow
2023-06-11 10:33 ` [PATCH 02/15] hw/pci-host/q35: Fix double, contradicting .endianness assignment Bernhard Beschow
2023-06-12 13:01 ` Igor Mammedov
2023-06-13 7:46 ` Bernhard Beschow
2023-06-13 8:51 ` Michael S. Tsirkin
2023-06-13 11:07 ` BALATON Zoltan
2023-06-13 13:05 ` Igor Mammedov [this message]
2023-06-13 13:40 ` Philippe Mathieu-Daudé
2023-06-13 15:01 ` Michael S. Tsirkin
2023-06-13 15:28 ` Bernhard Beschow
2023-06-11 10:34 ` [PATCH 03/15] hw/pci-host/q35: Initialize PCMachineState::bus in board code Bernhard Beschow
2023-06-12 10:28 ` Philippe Mathieu-Daudé
2023-06-12 13:42 ` Igor Mammedov
2023-06-11 10:34 ` [PATCH 04/15] hw/pci/pci_host: Introduce PCI_HOST_BYPASS_IOMMU macro Bernhard Beschow
2023-06-12 13:45 ` Igor Mammedov
2023-06-11 10:34 ` [PATCH 05/15] hw/pci-host/q35: Initialize PCI_HOST_BYPASS_IOMMU property from board code Bernhard Beschow
2023-06-12 10:27 ` Philippe Mathieu-Daudé
2023-06-12 13:51 ` Igor Mammedov
2023-06-11 10:34 ` [PATCH 06/15] hw/pci-host/q35: Make some property name macros reusable by i440fx Bernhard Beschow
2023-06-11 10:34 ` [PATCH 07/15] hw/pci-host/i440fx: Replace magic values by existing constants Bernhard Beschow
2023-06-12 10:25 ` Philippe Mathieu-Daudé
2023-06-12 13:55 ` Igor Mammedov
2023-06-11 10:34 ` [PATCH 08/15] hw/pci-host/i440fx: Have common names for some local variables Bernhard Beschow
2023-06-12 10:25 ` Philippe Mathieu-Daudé
2023-06-11 10:34 ` [PATCH 09/15] hw/pci-host/i440fx: Move i440fx_realize() into PCII440FXState section Bernhard Beschow
2023-06-12 10:24 ` Philippe Mathieu-Daudé
2023-06-11 10:34 ` [PATCH 10/15] hw/pci-host/i440fx: Make MemoryRegion pointers accessible as properties Bernhard Beschow
2023-06-12 10:19 ` Philippe Mathieu-Daudé
2023-06-11 10:34 ` [PATCH 11/15] hw/pci-host/i440fx: Add PCI_HOST_PROP_IO_MEM property Bernhard Beschow
2023-06-12 10:31 ` Philippe Mathieu-Daudé
2023-06-12 17:54 ` Bernhard Beschow
2023-06-11 10:34 ` [PATCH 12/15] hw/pci-host/i440fx: Add PCI_HOST_{ABOVE, BELOW}_4G_MEM_SIZE properties Bernhard Beschow
2023-06-11 10:34 ` [PATCH 13/15] hw/pci-host/i440fx: Add I440FX_HOST_PROP_PCI_TYPE property Bernhard Beschow
2023-06-11 10:34 ` [PATCH 14/15] hw/pci-host/i440fx: Resolve i440fx_init() Bernhard Beschow
2023-06-11 10:34 ` [PATCH 15/15] hw/i386/pc_piix: Move i440fx' realize near its qdev_new() Bernhard Beschow
2023-06-12 9:40 ` Philippe Mathieu-Daudé
2023-06-12 14:51 ` Igor Mammedov
2023-06-12 15:21 ` Igor Mammedov
2023-06-12 17:49 ` Bernhard Beschow
2023-06-13 9:52 ` Igor Mammedov
2023-06-26 6:50 ` Bernhard Beschow
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=20230613150502.74e46018@imammedo.users.ipa.redhat.com \
--to=imammedo@redhat.com \
--cc=balaton@eik.bme.hu \
--cc=eduardo@habkost.net \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=shentey@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.