*Re: [dpdk-dev] [PATCH v1 0/4] add Intel DCF PMD support
2020-03-09 15:36 ` [dpdk-dev] [PATCH v1 0/4] add Intel DCF PMD support David Marchand
@ 2020-03-09 16:20 ` Ye Xiaolong
2020-03-09 17:57 ` Thomas Monjalon
2020-03-10 14:09 ` Aaron Conole1 sibling, 1 reply; 94+ messages in thread
From: Ye Xiaolong @ 2020-03-09 16:20 UTC (permalink / raw)
To: David Marchand
Cc: Haiyue Wang, dev, Qi Zhang, Qiming Yang, Beilei Xing, Wei Zhao,
Aaron Conole, ci, Ferruh Yigit, thomas
Hi, David
On 03/09, David Marchand wrote:
>On Mon, Mar 9, 2020 at 3:22 PM Haiyue Wang <haiyue.wang@intel.com> wrote:
>>
>> A DCF (Device Config Function) based approach is proposed where a device
>> bound to the device's VF0 can act as a sole controlling entity to exercise
>> advance functionality (such as switch, ACL) for rest of the VFs.
>>
>> The DCF works as a standalone PMD to support this function, which shares the
>> ice PMD flow control core function and the iavf virtchnl mailbox core module.
>>
>> This patchset is based on:
>> [1] https://patchwork.dpdk.org/cover/66417/ update ice base code
>
>The problem is that the CI(s) won't handle this.
>Example for the robot: https://travis-ci.com/ovsrobot/dpdk/builds/152461907
>
>Maybe we could add something as an annotation to the cover letter or
>the first patch of a series so that the CI(s) can detect and try to be
>intelligent?
Agree, It'd be helpful if the cover letter of the first patch contains some
base tree info including the base commit and dependency patchset info (if any),
so the CI can determine the correct base on top of which the developer's
patchset applies to avoid any apply issue and potential false positive.
And I know there is one option '--base'' of `git format-patch` which is
dedicated for this kind of usage, it can help create the base tree info block
which can be easily consumed by the CI. Here is the simple intro of it.
Imagine that on top of the public commit P (already in upstream), the developer
applied well-known (on-flight, in the mailing list but not merged yet) patches
X, Y and Z from somebody else or himself, and then built his three-patch series
A, B, C, the commit history would be like:
................................................
---P---X---Y---Z---A---B---C
................................................
With `git format-patch --base=P -3 C`,
where P could be the exact commit sha, or variants e.g. HEAD~6, we can also use
--base=auto for convenience, the base tree information block will be shown at
the end of the first message the command outputs (either the first patch, or
the cover letter), like this:
------------
base-commit: P
prerequisite-patch-id: X
prerequisite-patch-id: Y
prerequisite-patch-id: Z
------------
Here P is the commit sha, and X,Y,Z are the patch ids of the dependency patches.
With this info in place, I think CI should be able to setup the exact base for
the coming patchset, the missing part I can see is the mapping of
(in-flight patch <-> patch id), since we have all the in-flight patches in
patchwork, creating and maintaining such mapping in DB is doable, what do you
think?
Thanks,
Xiaolong
>
>
>--
>David Marchand
>
^permalinkrawreply [flat|nested] 94+ messages in thread

*Re: [dpdk-dev] [PATCH v1 0/4] add Intel DCF PMD support
2020-03-09 16:20 ` Ye Xiaolong@ 2020-03-09 17:57 ` Thomas Monjalon
2020-03-09 19:34 ` Kevin Traynor0 siblings, 1 reply; 94+ messages in thread
From: Thomas Monjalon @ 2020-03-09 17:57 UTC (permalink / raw)
To: David Marchand, Ye Xiaolong
Cc: Haiyue Wang, dev, Qi Zhang, Qiming Yang, Beilei Xing, Wei Zhao,
Aaron Conole, ci, Ferruh Yigit
09/03/2020 17:20, Ye Xiaolong:
> Hi, David
>
> On 03/09, David Marchand wrote:
> >On Mon, Mar 9, 2020 at 3:22 PM Haiyue Wang <haiyue.wang@intel.com> wrote:
> >>
> >> A DCF (Device Config Function) based approach is proposed where a device
> >> bound to the device's VF0 can act as a sole controlling entity to exercise
> >> advance functionality (such as switch, ACL) for rest of the VFs.
> >>
> >> The DCF works as a standalone PMD to support this function, which shares the
> >> ice PMD flow control core function and the iavf virtchnl mailbox core module.
> >>
> >> This patchset is based on:
> >> [1] https://patchwork.dpdk.org/cover/66417/ update ice base code
> >
> >The problem is that the CI(s) won't handle this.
> >Example for the robot: https://travis-ci.com/ovsrobot/dpdk/builds/152461907
> >
> >Maybe we could add something as an annotation to the cover letter or
> >the first patch of a series so that the CI(s) can detect and try to be
> >intelligent?
>
> Agree, It'd be helpful if the cover letter of the first patch contains some
> base tree info including the base commit and dependency patchset info (if any),
> so the CI can determine the correct base on top of which the developer's
> patchset applies to avoid any apply issue and potential false positive.
>
> And I know there is one option '--base'' of `git format-patch` which is
> dedicated for this kind of usage, it can help create the base tree info block
> which can be easily consumed by the CI. Here is the simple intro of it.
>
> Imagine that on top of the public commit P (already in upstream), the developer
> applied well-known (on-flight, in the mailing list but not merged yet) patches
> X, Y and Z from somebody else or himself, and then built his three-patch series
> A, B, C, the commit history would be like:
>
> ................................................
> ---P---X---Y---Z---A---B---C
> ................................................
>
> With `git format-patch --base=P -3 C`,
>
> where P could be the exact commit sha, or variants e.g. HEAD~6, we can also use
> --base=auto for convenience, the base tree information block will be shown at
> the end of the first message the command outputs (either the first patch, or
> the cover letter), like this:
>
> ------------
> base-commit: P
> prerequisite-patch-id: X
> prerequisite-patch-id: Y
> prerequisite-patch-id: Z
> ------------
>
> Here P is the commit sha, and X,Y,Z are the patch ids of the dependency patches.
>
>
> With this info in place, I think CI should be able to setup the exact base for
> the coming patchset, the missing part I can see is the mapping of
> (in-flight patch <-> patch id), since we have all the in-flight patches in
> patchwork, creating and maintaining such mapping in DB is doable, what do you
> think?
I think it would simpler to list dependencies as patchwork ids.
Example:
Depends-on: series-42, patch-12345
^permalinkrawreply [flat|nested] 94+ messages in thread

*Re: [dpdk-dev] [PATCH v1 0/4] add Intel DCF PMD support
2020-03-09 17:57 ` Thomas Monjalon@ 2020-03-09 19:34 ` Kevin Traynor
2020-03-10 2:00 ` Wang, Haiyue0 siblings, 1 reply; 94+ messages in thread
From: Kevin Traynor @ 2020-03-09 19:34 UTC (permalink / raw)
To: Thomas Monjalon, David Marchand, Ye Xiaolong
Cc: Haiyue Wang, dev, Qi Zhang, Qiming Yang, Beilei Xing, Wei Zhao,
Aaron Conole, ci, Ferruh Yigit
On 09/03/2020 17:57, Thomas Monjalon wrote:
> 09/03/2020 17:20, Ye Xiaolong:
>> Hi, David
>>
>> On 03/09, David Marchand wrote:
>>> On Mon, Mar 9, 2020 at 3:22 PM Haiyue Wang <haiyue.wang@intel.com> wrote:
>>>>
>>>> A DCF (Device Config Function) based approach is proposed where a device
>>>> bound to the device's VF0 can act as a sole controlling entity to exercise
>>>> advance functionality (such as switch, ACL) for rest of the VFs.
>>>>
>>>> The DCF works as a standalone PMD to support this function, which shares the
>>>> ice PMD flow control core function and the iavf virtchnl mailbox core module.
>>>>
>>>> This patchset is based on:
>>>> [1] https://patchwork.dpdk.org/cover/66417/ update ice base code
>>>
>>> The problem is that the CI(s) won't handle this.
>>> Example for the robot: https://travis-ci.com/ovsrobot/dpdk/builds/152461907
>>>
>>> Maybe we could add something as an annotation to the cover letter or
>>> the first patch of a series so that the CI(s) can detect and try to be
>>> intelligent?
>>
>> Agree, It'd be helpful if the cover letter of the first patch contains some
>> base tree info including the base commit and dependency patchset info (if any),
>> so the CI can determine the correct base on top of which the developer's
>> patchset applies to avoid any apply issue and potential false positive.
>>
>> And I know there is one option '--base'' of `git format-patch` which is
>> dedicated for this kind of usage, it can help create the base tree info block
>> which can be easily consumed by the CI. Here is the simple intro of it.
>>
>> Imagine that on top of the public commit P (already in upstream), the developer
>> applied well-known (on-flight, in the mailing list but not merged yet) patches
>> X, Y and Z from somebody else or himself, and then built his three-patch series
>> A, B, C, the commit history would be like:
>>
>> ................................................
>> ---P---X---Y---Z---A---B---C
>> ................................................
>>
>> With `git format-patch --base=P -3 C`,
>>
>> where P could be the exact commit sha, or variants e.g. HEAD~6, we can also use
>> --base=auto for convenience, the base tree information block will be shown at
>> the end of the first message the command outputs (either the first patch, or
>> the cover letter), like this:
>>
>> ------------
>> base-commit: P
>> prerequisite-patch-id: X
>> prerequisite-patch-id: Y
>> prerequisite-patch-id: Z
>> ------------
>>
>> Here P is the commit sha, and X,Y,Z are the patch ids of the dependency patches.
>>
>>
>> With this info in place, I think CI should be able to setup the exact base for
>> the coming patchset, the missing part I can see is the mapping of
>> (in-flight patch <-> patch id), since we have all the in-flight patches in
>> patchwork, creating and maintaining such mapping in DB is doable, what do you
>> think?
>
> I think it would simpler to list dependencies as patchwork ids.
> Example:
> Depends-on: series-42, patch-12345
>
+1. I don't think it should depend on a base-commit. If it doesn't
apply/build/work with the latest upstream code then it's a valid error.
>
^permalinkrawreply [flat|nested] 94+ messages in thread

*Re: [dpdk-dev] [PATCH v1 0/4] add Intel DCF PMD support
2020-03-10 7:48 ` Thomas Monjalon@ 2020-03-10 9:36 ` Ferruh Yigit
2020-03-10 14:11 ` Aaron Conole0 siblings, 1 reply; 94+ messages in thread
From: Ferruh Yigit @ 2020-03-10 9:36 UTC (permalink / raw)
To: Thomas Monjalon, Kevin Traynor, David Marchand, Ye, Xiaolong,
Wang, Haiyue
Cc: dev, Zhang, Qi Z, Yang, Qiming, Xing, Beilei, Zhao1, Wei,
Aaron Conole, ci
On 3/10/2020 7:48 AM, Thomas Monjalon wrote:
> 10/03/2020 03:00, Wang, Haiyue:
>>> -----Original Message-----
>>> From: Kevin Traynor <ktraynor@redhat.com>
>>> Sent: Tuesday, March 10, 2020 03:34
>>> To: Thomas Monjalon <thomas@monjalon.net>; David Marchand <david.marchand@redhat.com>; Ye, Xiaolong
>>> <xiaolong.ye@intel.com>
>>> Cc: Wang, Haiyue <haiyue.wang@intel.com>; dev <dev@dpdk.org>; Zhang, Qi Z <qi.z.zhang@intel.com>; Yang,
>>> Qiming <qiming.yang@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>;
>>> Aaron Conole <aconole@redhat.com>; ci@dpdk.org; Yigit, Ferruh <ferruh.yigit@intel.com>
>>> Subject: Re: [dpdk-dev] [PATCH v1 0/4] add Intel DCF PMD support
>>>
>>> On 09/03/2020 17:57, Thomas Monjalon wrote:
>>>> 09/03/2020 17:20, Ye Xiaolong:
>>>>> Hi, David
>>>>>
>>>>> On 03/09, David Marchand wrote:
>>>>>> On Mon, Mar 9, 2020 at 3:22 PM Haiyue Wang <haiyue.wang@intel.com> wrote:
>>>>>>>
>>>>>>> A DCF (Device Config Function) based approach is proposed where a device
>>>>>>> bound to the device's VF0 can act as a sole controlling entity to exercise
>>>>>>> advance functionality (such as switch, ACL) for rest of the VFs.
>>>>>>>
>>>>>>> The DCF works as a standalone PMD to support this function, which shares the
>>>>>>> ice PMD flow control core function and the iavf virtchnl mailbox core module.
>>>>>>>
>>>>>>> This patchset is based on:
>>>>>>> [1] https://patchwork.dpdk.org/cover/66417/ update ice base code
>>>>>>
>>>>>> The problem is that the CI(s) won't handle this.
>>>>>> Example for the robot: https://travis-ci.com/ovsrobot/dpdk/builds/152461907
>>>>>>
>>>>>> Maybe we could add something as an annotation to the cover letter or
>>>>>> the first patch of a series so that the CI(s) can detect and try to be
>>>>>> intelligent?
>>>>>
>>>>> Agree, It'd be helpful if the cover letter of the first patch contains some
>>>>> base tree info including the base commit and dependency patchset info (if any),
>>>>> so the CI can determine the correct base on top of which the developer's
>>>>> patchset applies to avoid any apply issue and potential false positive.
>>>>>
>>>>> And I know there is one option '--base'' of `git format-patch` which is
>>>>> dedicated for this kind of usage, it can help create the base tree info block
>>>>> which can be easily consumed by the CI. Here is the simple intro of it.
>>>>>
>>>>> Imagine that on top of the public commit P (already in upstream), the developer
>>>>> applied well-known (on-flight, in the mailing list but not merged yet) patches
>>>>> X, Y and Z from somebody else or himself, and then built his three-patch series
>>>>> A, B, C, the commit history would be like:
>>>>>
>>>>> ................................................
>>>>> ---P---X---Y---Z---A---B---C
>>>>> ................................................
>>>>>
>>>>> With `git format-patch --base=P -3 C`,
>>>>>
>>>>> where P could be the exact commit sha, or variants e.g. HEAD~6, we can also use
>>>>> --base=auto for convenience, the base tree information block will be shown at
>>>>> the end of the first message the command outputs (either the first patch, or
>>>>> the cover letter), like this:
>>>>>
>>>>> ------------
>>>>> base-commit: P
>>>>> prerequisite-patch-id: X
>>>>> prerequisite-patch-id: Y
>>>>> prerequisite-patch-id: Z
>>>>> ------------
>>>>>
>>>>> Here P is the commit sha, and X,Y,Z are the patch ids of the dependency patches.
>>>>>
>>>>>
>>>>> With this info in place, I think CI should be able to setup the exact base for
>>>>> the coming patchset, the missing part I can see is the mapping of
>>>>> (in-flight patch <-> patch id), since we have all the in-flight patches in
>>>>> patchwork, creating and maintaining such mapping in DB is doable, what do you
>>>>> think?
>>>>
>>>> I think it would simpler to list dependencies as patchwork ids.
>>>> Example:
>>>> Depends-on: series-42, patch-12345
>>>>
>>>
>>
>> Just list the 'series' ? Since it can download the whole patchset with
>> the single link format like:
>>
>> Depends-on: series-8843 --> https://patchwork.dpdk.org/series/8843/mbox/
>
> Yes, I was proposing both format: series-X and patch-Y (on top of series-X).
> But we probably never need to be specific about a single patch.
> I think you are right, we can keep only "series-X" syntax,
> and allow describing a list of series, ordered and separated with comma.
>
+1 to "Depends-on: series-#####" syntax
^permalinkrawreply [flat|nested] 94+ messages in thread

*Re: [dpdk-dev] [PATCH v1 0/4] add Intel DCF PMD support
2020-03-10 9:36 ` Ferruh Yigit@ 2020-03-10 14:11 ` Aaron Conole0 siblings, 0 replies; 94+ messages in thread
From: Aaron Conole @ 2020-03-10 14:11 UTC (permalink / raw)
To: Ferruh Yigit
Cc: Thomas Monjalon, Kevin Traynor, David Marchand, Ye, Xiaolong,
Wang, Haiyue, dev, Zhang, Qi Z, Yang, Qiming, Xing, Beilei,
Zhao1, Wei, ci
Ferruh Yigit <ferruh.yigit@intel.com> writes:
> On 3/10/2020 7:48 AM, Thomas Monjalon wrote:
>> 10/03/2020 03:00, Wang, Haiyue:
>>>> -----Original Message-----
>>>> From: Kevin Traynor <ktraynor@redhat.com>
>>>> Sent: Tuesday, March 10, 2020 03:34
>>>> To: Thomas Monjalon <thomas@monjalon.net>; David Marchand
>>>> <david.marchand@redhat.com>; Ye, Xiaolong
>>>> <xiaolong.ye@intel.com>
>>>> Cc: Wang, Haiyue <haiyue.wang@intel.com>; dev <dev@dpdk.org>;
>>>> Zhang, Qi Z <qi.z.zhang@intel.com>; Yang,
>>>> Qiming <qiming.yang@intel.com>; Xing, Beilei
>>>> <beilei.xing@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>;
>>>> Aaron Conole <aconole@redhat.com>; ci@dpdk.org; Yigit, Ferruh <ferruh.yigit@intel.com>
>>>> Subject: Re: [dpdk-dev] [PATCH v1 0/4] add Intel DCF PMD support
>>>>
>>>> On 09/03/2020 17:57, Thomas Monjalon wrote:
>>>>> 09/03/2020 17:20, Ye Xiaolong:
>>>>>> Hi, David
>>>>>>
>>>>>> On 03/09, David Marchand wrote:
>>>>>>> On Mon, Mar 9, 2020 at 3:22 PM Haiyue Wang <haiyue.wang@intel.com> wrote:
>>>>>>>>
>>>>>>>> A DCF (Device Config Function) based approach is proposed where a device
>>>>>>>> bound to the device's VF0 can act as a sole controlling entity to exercise
>>>>>>>> advance functionality (such as switch, ACL) for rest of the VFs.
>>>>>>>>
>>>>>>>> The DCF works as a standalone PMD to support this function, which shares the
>>>>>>>> ice PMD flow control core function and the iavf virtchnl mailbox core module.
>>>>>>>>
>>>>>>>> This patchset is based on:
>>>>>>>> [1] https://patchwork.dpdk.org/cover/66417/ update ice base code
>>>>>>>
>>>>>>> The problem is that the CI(s) won't handle this.
>>>>>>> Example for the robot: https://travis-ci.com/ovsrobot/dpdk/builds/152461907
>>>>>>>
>>>>>>> Maybe we could add something as an annotation to the cover letter or
>>>>>>> the first patch of a series so that the CI(s) can detect and try to be
>>>>>>> intelligent?
>>>>>>
>>>>>> Agree, It'd be helpful if the cover letter of the first patch contains some
>>>>>> base tree info including the base commit and dependency patchset info (if any),
>>>>>> so the CI can determine the correct base on top of which the developer's
>>>>>> patchset applies to avoid any apply issue and potential false positive.
>>>>>>
>>>>>> And I know there is one option '--base'' of `git format-patch` which is
>>>>>> dedicated for this kind of usage, it can help create the base tree info block
>>>>>> which can be easily consumed by the CI. Here is the simple intro of it.
>>>>>>
>>>>>> Imagine that on top of the public commit P (already in upstream), the developer
>>>>>> applied well-known (on-flight, in the mailing list but not merged yet) patches
>>>>>> X, Y and Z from somebody else or himself, and then built his three-patch series
>>>>>> A, B, C, the commit history would be like:
>>>>>>
>>>>>> ................................................
>>>>>> ---P---X---Y---Z---A---B---C
>>>>>> ................................................
>>>>>>
>>>>>> With `git format-patch --base=P -3 C`,
>>>>>>
>>>>>> where P could be the exact commit sha, or variants e.g. HEAD~6, we can also use
>>>>>> --base=auto for convenience, the base tree information block will be shown at
>>>>>> the end of the first message the command outputs (either the first patch, or
>>>>>> the cover letter), like this:
>>>>>>
>>>>>> ------------
>>>>>> base-commit: P
>>>>>> prerequisite-patch-id: X
>>>>>> prerequisite-patch-id: Y
>>>>>> prerequisite-patch-id: Z
>>>>>> ------------
>>>>>>
>>>>>> Here P is the commit sha, and X,Y,Z are the patch ids of the dependency patches.
>>>>>>
>>>>>>
>>>>>> With this info in place, I think CI should be able to setup the exact base for
>>>>>> the coming patchset, the missing part I can see is the mapping of
>>>>>> (in-flight patch <-> patch id), since we have all the in-flight patches in
>>>>>> patchwork, creating and maintaining such mapping in DB is doable, what do you
>>>>>> think?
>>>>>
>>>>> I think it would simpler to list dependencies as patchwork ids.
>>>>> Example:
>>>>> Depends-on: series-42, patch-12345
>>>>>
>>>>
>>>
>>> Just list the 'series' ? Since it can download the whole patchset with
>>> the single link format like:
>>>
>>> Depends-on: series-8843 --> https://patchwork.dpdk.org/series/8843/mbox/
>>
>> Yes, I was proposing both format: series-X and patch-Y (on top of series-X).
>> But we probably never need to be specific about a single patch.
>> I think you are right, we can keep only "series-X" syntax,
>> and allow describing a list of series, ordered and separated with comma.
>>
> +1 to "Depends-on: series-#####" syntax
I can do this - but I actually prefer just putting the series in the
brackets. Metadata tags in the message will be preserved in the commit
history, but the details of which series to start with for checking out
don't really need to be preserved. It's just a way to get the bot to
test, right? Maybe it can help maintainers to script an auto-fetch,
too.
^permalinkrawreply [flat|nested] 94+ messages in thread

*Re: [dpdk-dev] [PATCH v1 0/4] add Intel DCF PMD support
2020-03-09 15:36 ` [dpdk-dev] [PATCH v1 0/4] add Intel DCF PMD support David Marchand
2020-03-09 16:20 ` Ye Xiaolong@ 2020-03-10 14:09 ` Aaron Conole1 sibling, 0 replies; 94+ messages in thread
From: Aaron Conole @ 2020-03-10 14:09 UTC (permalink / raw)
To: David Marchand
Cc: Haiyue Wang, dev, Xiaolong Ye, Qi Zhang, Qiming Yang,
Beilei Xing, Wei Zhao, ci
David Marchand <david.marchand@redhat.com> writes:
> On Mon, Mar 9, 2020 at 3:22 PM Haiyue Wang <haiyue.wang@intel.com> wrote:
>>
>> A DCF (Device Config Function) based approach is proposed where a device
>> bound to the device's VF0 can act as a sole controlling entity to exercise
>> advance functionality (such as switch, ACL) for rest of the VFs.
>>
>> The DCF works as a standalone PMD to support this function, which shares the
>> ice PMD flow control core function and the iavf virtchnl mailbox core module.
>>
>> This patchset is based on:
>> [1] https://patchwork.dpdk.org/cover/66417/ update ice base code
>
> The problem is that the CI(s) won't handle this.
> Example for the robot: https://travis-ci.com/ovsrobot/dpdk/builds/152461907
>
> Maybe we could add something as an annotation to the cover letter or
> the first patch of a series so that the CI(s) can detect and try to be
> intelligent?
It's something that's possibly worth doing; I can update the bot to
recognize:
series_XXX
in the cover-letter metadata (IE: between the '[...]'), and
automatically check out the correct branch.
Additionally, if the idea is not to get the patch applied right away
while finalizing on the preceding series, the RFC keyword will prevent
the bot from running.
THAT SAID
In general, I dislike posting series that depend on other series. It
makes review much harder, and if there's a feedback on the preceding
series that requires lots of change, the dependent series may also need
to be re-done completely.
I see there are more replies to this thread - sorry I didn't get to it
yesterday (personal stuff).
^permalinkrawreply [flat|nested] 94+ messages in thread