public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: "Zhu, Lingshan" <lingshan.zhu@intel.com>
To: Jason Wang <jasowang@redhat.com>
Cc: mst@redhat.com, virtualization@lists.linux-foundation.org,
	kvm@vger.kernel.org, hang.yuan@intel.com,
	piotr.uminski@intel.com
Subject: Re: [PATCH 0/4] ifcvf/vDPA implement features provisioning
Date: Thu, 10 Nov 2022 17:27:10 +0800	[thread overview]
Message-ID: <604ae2ce-5e00-3d08-fcfb-0d3fd3c505a3@intel.com> (raw)
In-Reply-To: <CACGkMEuca97Cv+XuKxmHHHgAQYsayZvJRtpONCCqcEE8qMu5Kw@mail.gmail.com>



On 11/10/2022 5:13 PM, Jason Wang wrote:
> On Thu, Nov 10, 2022 at 4:59 PM Zhu, Lingshan <lingshan.zhu@intel.com> wrote:
>>
>>
>> On 11/10/2022 2:29 PM, Jason Wang wrote:
>>> 在 2022/11/10 14:20, Zhu, Lingshan 写道:
>>>>
>>>> On 11/10/2022 11:49 AM, Jason Wang wrote:
>>>>> On Wed, Nov 9, 2022 at 5:06 PM Zhu, Lingshan
>>>>> <lingshan.zhu@intel.com> wrote:
>>>>>>
>>>>>> On 11/9/2022 4:59 PM, Jason Wang wrote:
>>>>>>> On Wed, Nov 9, 2022 at 4:14 PM Zhu, Lingshan
>>>>>>> <lingshan.zhu@intel.com> wrote:
>>>>>>>> On 11/9/2022 2:51 PM, Jason Wang wrote:
>>>>>>>>> On Mon, Nov 7, 2022 at 5:42 PM Zhu Lingshan
>>>>>>>>> <lingshan.zhu@intel.com> wrote:
>>>>>>>>>> This series implements features provisioning for ifcvf.
>>>>>>>>>> By applying this series, we allow userspace to create
>>>>>>>>>> a vDPA device with selected (management device supported)
>>>>>>>>>> feature bits and mask out others.
>>>>>>>>> I don't see a direct relationship between the first 3 and the last.
>>>>>>>>> Maybe you can state the reason why the restructure is a must for
>>>>>>>>> the
>>>>>>>>> feature provisioning. Otherwise, we'd better split the series.
>>>>>>>> When introducing features provisioning ability to ifcvf, there is
>>>>>>>> a need
>>>>>>>> to re-create vDPA devices
>>>>>>>> on a VF with different feature bits.
>>>>>>> This seems a requirement even without feature provisioning? Device
>>>>>>> could be deleted from the management device anyhow.
>>>>>> Yes, we need this to delete and re-create a vDPA device.
>>>>> I wonder if we need something that works for -stable.
>>>> I can add a fix tag, so these three patches could apply to stable
>>>
>>> It's too huge for -stable.
>>>
>>>
>>>>> AFAIK, we can move the vdpa_alloc_device() from probe() to dev_add()
>>>>> and it seems to work?
>>>> Yes and this is done in this series and that's why we need these
>>>> refactoring code.
>>>
>>> I meant there's probably no need to change the association of existing
>>> structure but just do the allocation in dev_add(), then we will have a
>>> patch with much more small changeset that fit for -stable.
>> Patch 1(ifcvf_base only work on ifcvf_hw) and patch 2(irq functions only
>> work on ifcvf_hw) are not needed for stable.
>> I have already done this allocation of ifcvf_adapter which is the
>> container of struct vdpa_device in dev_add() in Patch 3, this should be
>> merged to stable.
>> Patch 3 is huge but necessary, not only allocate ifcvf_adapter in
>> dev_add(), it also refactors the structures of ifcvf_mgmt_dev and
>> ifcvf_adapter,
>> because we need to initialize the VF's hw structure ifcvf_hw(which was a
>> member of ifcvf_adapter but now should be a member of ifcvf_mgmt_dev) in
>> probe.
>>
>> Is it still huge?
> Then please reorder the patches, stable-kernel-rules.rst said:
>
>   - It cannot be bigger than 100 lines, with context.
>
> Let's see.
It is over 180 lines, so maybe re-ordering can not help here, I will try 
to split patch 3.

Thanks,
Zhu Lingshan
>
> Thanks
>
>> Thanks
>>> Thanks
>>>
>>>
>>>> By the way, do you have any comments to the patches?
>>>>
>>>> Thanks,
>>>> Zhu Lingshan
>>>>> Thanks
>>>>>
>>>>>> We create vDPA device from a VF, so without features provisioning
>>>>>> requirements,
>>>>>> we don't need to re-create the vDPA device. But with features
>>>>>> provisioning,
>>>>>> it is a must now.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>>
>>>>>>> Thakns
>>>>>>>
>>>>>>>> When remove a vDPA device, the container of struct vdpa_device
>>>>>>>> (here is
>>>>>>>> ifcvf_adapter) is free-ed in
>>>>>>>> dev_del() interface, so we need to allocate ifcvf_adapter in
>>>>>>>> dev_add()
>>>>>>>> than in probe(). That's
>>>>>>>> why I have re-factored the adapter/mgmt_dev code.
>>>>>>>>
>>>>>>>> For re-factoring the irq related code and ifcvf_base, let them
>>>>>>>> work on
>>>>>>>> struct ifcvf_hw, the
>>>>>>>> reason is that the adapter is allocated in dev_add(), if we want
>>>>>>>> theses
>>>>>>>> functions to work
>>>>>>>> before dev_add(), like in probe, we need them work on ifcvf_hw
>>>>>>>> than the
>>>>>>>> adapter.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Zhu Lingshan
>>>>>>>>> Thanks
>>>>>>>>>
>>>>>>>>>> Please help review
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>>
>>>>>>>>>> Zhu Lingshan (4):
>>>>>>>>>>       vDPA/ifcvf: ifcvf base layer interfaces work on struct
>>>>>>>>>> ifcvf_hw
>>>>>>>>>>       vDPA/ifcvf: IRQ interfaces work on ifcvf_hw
>>>>>>>>>>       vDPA/ifcvf: allocate ifcvf_adapter in dev_add()
>>>>>>>>>>       vDPA/ifcvf: implement features provisioning
>>>>>>>>>>
>>>>>>>>>>      drivers/vdpa/ifcvf/ifcvf_base.c |  32 ++-----
>>>>>>>>>>      drivers/vdpa/ifcvf/ifcvf_base.h |  10 +-
>>>>>>>>>>      drivers/vdpa/ifcvf/ifcvf_main.c | 156
>>>>>>>>>> +++++++++++++++-----------------
>>>>>>>>>>      3 files changed, 89 insertions(+), 109 deletions(-)
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> 2.31.1
>>>>>>>>>>


      reply	other threads:[~2022-11-10  9:27 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-07  9:33 [PATCH 0/4] ifcvf/vDPA implement features provisioning Zhu Lingshan
2022-11-07  9:33 ` [PATCH 1/4] vDPA/ifcvf: ifcvf base layer interfaces work on struct ifcvf_hw Zhu Lingshan
2022-11-07  9:33 ` [PATCH 2/4] vDPA/ifcvf: IRQ interfaces work on ifcvf_hw Zhu Lingshan
2022-11-07  9:33 ` [PATCH 3/4] vDPA/ifcvf: allocate ifcvf_adapter in dev_add() Zhu Lingshan
2022-11-07  9:33 ` [PATCH 4/4] vDPA/ifcvf: implement features provisioning Zhu Lingshan
2022-11-09  6:51 ` [PATCH 0/4] ifcvf/vDPA " Jason Wang
2022-11-09  8:13   ` Zhu, Lingshan
2022-11-09  8:59     ` Jason Wang
2022-11-09  9:06       ` Zhu, Lingshan
2022-11-10  3:49         ` Jason Wang
2022-11-10  6:20           ` Zhu, Lingshan
2022-11-10  6:29             ` Jason Wang
2022-11-10  8:58               ` Zhu, Lingshan
2022-11-10  9:13                 ` Jason Wang
2022-11-10  9:27                   ` Zhu, Lingshan [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=604ae2ce-5e00-3d08-fcfb-0d3fd3c505a3@intel.com \
    --to=lingshan.zhu@intel.com \
    --cc=hang.yuan@intel.com \
    --cc=jasowang@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=piotr.uminski@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox