From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Zhu, Lingshan" <lingshan.zhu@intel.com>
Cc: virtualization@lists.linux-foundation.org,
Angus Chen <angus.chen@jaguarmicro.com>
Subject: Re: [PATCH v3] vdpa/ifcvf: fix the calculation of queuepair
Date: Fri, 23 Sep 2022 02:02:20 -0400 [thread overview]
Message-ID: <20220923020122-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <5494f583-1672-2246-9030-5b8b870ad430@intel.com>
On Fri, Sep 23, 2022 at 01:43:36PM +0800, Zhu, Lingshan wrote:
>
>
> On 9/23/2022 1:32 PM, Michael S. Tsirkin wrote:
> > On Fri, Sep 23, 2022 at 11:21:41AM +0800, Zhu, Lingshan wrote:
> > >
> > > On 9/23/2022 9:03 AM, Angus Chen wrote:
> > > > The queuepair should be divided by 2 and
> > > > it should not be hw->nr_vring when multi-queue feature was enabled
> > > This is not about MQ, even no MQ, there are still space in the cap storing
> > > (though invalid)queue states that can be addressed.
> > > So I think just describe q_pair_id = qid / 2 here.
> > hmm without MQ qid is always 0 or 1 so the old calculation
> > and the new one give the same result right?
> Yes, if no MQ, the queue pair id is always 0. The original code
> is buggy anyway, we need the queue pair id = qid /2 even without MQ.
>
> If there are 8 queues, even no MQ feature bit negotiated, the HW
> still stores the queue states though invalid but can be addressed.
>
> And we are working on a new layout of this LM cap/bar.
> > I guess this is what Angus Chen meant.
> > Would you mind writing a good commit log for us then?
> I think it can be as easy as:
> The q_pair_id to address a queue pair in the lm bar should be
> calculated by queue_id / 2 than queue_id / nr_vring
English requires "rather than" and not "than" here. Otherwise, ok.
Angus Chen could you post v4 with this corrected and Lingshan Zhu's
ack included please?
> Thanks,
> Zhu Lingshan
> >
> > > for the code change:
> > > Acked-by: Zhu Lingshan<lingshan.zhu@intel.com>
> > >
> > > Thanks
> > > > Fixes: 2ddae773c93b ("vDPA/ifcvf: detect and use the onboard number of queues directly")
> > > >
> > > > changes in v2:
> > > > - add commitid which to be fixed
> > > > - no code changes
> > > >
> > > > changes in v3:
> > > > - updated commit log with more info, addressing comments by MST
> > > > - no code changes
> > > >
> > > > Signed-off-by: Angus Chen <angus.chen@jaguarmicro.com>
> > > > ---
> > > > drivers/vdpa/ifcvf/ifcvf_base.c | 4 ++--
> > > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/drivers/vdpa/ifcvf/ifcvf_base.c b/drivers/vdpa/ifcvf/ifcvf_base.c
> > > > index 75a703b803a2..3e4486bfa0b7 100644
> > > > --- a/drivers/vdpa/ifcvf/ifcvf_base.c
> > > > +++ b/drivers/vdpa/ifcvf/ifcvf_base.c
> > > > @@ -323,7 +323,7 @@ u16 ifcvf_get_vq_state(struct ifcvf_hw *hw, u16 qid)
> > > > u32 q_pair_id;
> > > > ifcvf_lm = (struct ifcvf_lm_cfg __iomem *)hw->lm_cfg;
> > > > - q_pair_id = qid / hw->nr_vring;
> > > > + q_pair_id = qid / 2;
> > > > avail_idx_addr = &ifcvf_lm->vring_lm_cfg[q_pair_id].idx_addr[qid % 2];
> > > > last_avail_idx = vp_ioread16(avail_idx_addr);
> > > > @@ -337,7 +337,7 @@ int ifcvf_set_vq_state(struct ifcvf_hw *hw, u16 qid, u16 num)
> > > > u32 q_pair_id;
> > > > ifcvf_lm = (struct ifcvf_lm_cfg __iomem *)hw->lm_cfg;
> > > > - q_pair_id = qid / hw->nr_vring;
> > > > + q_pair_id = qid / 2;
> > > > avail_idx_addr = &ifcvf_lm->vring_lm_cfg[q_pair_id].idx_addr[qid % 2];
> > > > hw->vring[qid].last_avail_idx = num;
> > > > vp_iowrite16(num, avail_idx_addr);
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
prev parent reply other threads:[~2022-09-23 6:02 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20220923010356.2084-1-angus.chen@jaguarmicro.com>
2022-09-23 5:30 ` [PATCH v3] vdpa/ifcvf: fix the calculation of queuepair Michael S. Tsirkin
[not found] ` <21c4c74a-e340-0aaf-80b4-413d968144c5@intel.com>
2022-09-23 5:32 ` Michael S. Tsirkin
[not found] ` <5494f583-1672-2246-9030-5b8b870ad430@intel.com>
2022-09-23 6:02 ` Michael S. Tsirkin [this message]
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=20220923020122-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=angus.chen@jaguarmicro.com \
--cc=lingshan.zhu@intel.com \
--cc=virtualization@lists.linux-foundation.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 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.