[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210709191524.vbtlyg42v77f5drw@liuwe-devbox-debian-v2>
Date: Fri, 9 Jul 2021 19:15:24 +0000
From: Wei Liu <wei.liu@...nel.org>
To: Sunil Muthuswamy <sunilmut@...rosoft.com>
Cc: Wei Liu <wei.liu@...nel.org>, KY Srinivasan <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Stephen Hemminger <sthemmin@...rosoft.com>,
Wei Liu <liuwe@...rosoft.com>,
Dexuan Cui <decui@...rosoft.com>,
Michael Kelley <mikelley@...rosoft.com>,
"linux-hyperv@...r.kernel.org" <linux-hyperv@...r.kernel.org>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Rob Herring <robh@...nel.org>,
Bjorn Helgaas <bhelgaas@...gle.com>
Subject: Re: [EXTERNAL] Re: [PATCH 1/1] PCI: hv: Support for create interrupt
v3
On Fri, Jul 09, 2021 at 04:42:13PM +0000, Sunil Muthuswamy wrote:
> > > +/*
> > > + * struct hv_msi_desc3 - 1.3 version of hv_msi_desc
> > > + * Everything is the same as in 'hv_msi_desc2' except that the size
> > > + * of the 'vector_count' field is larger to support bigger vector
> > > + * values. For ex: LPI vectors on ARM.
> > > + */
> > > +struct hv_msi_desc3 {
> > > + u32 vector;
> > > + u8 delivery_mode;
> > > + u8 reserved;
> > > + u16 vector_count;
> > > + u16 processor_count;
> > > + u16 processor_array[32];
> > > +} __packed;
> > > +
> > > /**
> > > * struct tran_int_desc
> > > * @reserved: unused, padding
> > > @@ -383,6 +402,12 @@ struct pci_create_interrupt2 {
> > > struct hv_msi_desc2 int_desc;
> > > } __packed;
> > >
> > > +struct pci_create_interrupt3 {
> > > + struct pci_message message_type;
> > > + union win_slot_encoding wslot;
> > > + struct hv_msi_desc3 int_desc;
> > > +} __packed;
> > > +
> > > struct pci_delete_interrupt {
> > > struct pci_message message_type;
> > > union win_slot_encoding wslot;
> > > @@ -1334,26 +1359,55 @@ static u32 hv_compose_msi_req_v1(
> > > return sizeof(*int_pkt);
> > > }
> > >
> > > +static void hv_compose_msi_req_get_cpu(struct cpumask *affinity, int *cpu,
> > > + u16 *count)
> >
> > Isn't count redundant here? I don't see how this can be used safely for
> > passing back more than 1 cpu, since if cpu is pointing to an array, its
> > size is not specified.
> >
> > Wei.
>
> Yes, it is at the moment. But, the function can be extended in the future to take
> a size as well. But, it will always be 1 and I preferred keeping that information
> with the implementation. If you have preference, I can hard code that in the
> caller. It seems fine for me either ways.
Since this is not too much trouble I would rather you remove count and
then introduce it when it is needed.
Wei.
>
> - Sunil
Powered by blists - more mailing lists