On 7/15/20 11:54 AM, Anton Ivanov wrote:
> 
> On 15/07/2020 09:57, Dumitru Ceara wrote:
>> On 7/14/20 6:06 PM, Anton Ivanov wrote:
>>> On 14/07/2020 16:27, Dumitru Ceara wrote:
>>>> On 7/10/20 10:39 AM, anton.iva...@cambridgegreys.com wrote:
>>>>> Hi all,
>>>>>
>>>>> This is a series of patches to demo the use in OVN of the parallel
>>>>> processing of hashes patchset which I submitted to OVS.
>>>>>
>>>>> The OVS patch series required for this patch can be found here:
>>>>>
>>>>> https://patchwork.ozlabs.org/project/openvswitch/patch/20200706083650.29443-2-anton.iva...@cambridgegreys.com/
>>>>>
>>>>>
>>>>> https://patchwork.ozlabs.org/project/openvswitch/patch/20200706083650.29443-3-anton.iva...@cambridgegreys.com/
>>>>>
>>>>>
>>>>>
>>>>> or here:
>>>>>
>>>>> https://github.com/kot-begemot-uk/ovs/tree/parallel-submit-final
>>>>>
>>>>> They improve the performance and stability of ovn in a scale test.
>>>>> I have used 64+ fake nodes in my scale testing. Your mileage may
>>>>> vary depending on the performance of the systems used to run the
>>>>> tests.
>>>>>
>>>>> The patchset covers most parts of ovn-northd which look amenable to
>>>>> parallel processing. It may be possible to expand it to also cover
>>>>> initial datapath hash generation and sb_only/nb_only lists, but that
>>>>> does not look like it is worth it except for extremely large datasets.
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> dev mailing list
>>>>> d...@openvswitch.org
>>>>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>>>>
>>>> Hi Anton,
>>>>
>>>> Would you mind rebasing and sending a v2 of this RFC? For some reason
>>>> the emails for the first two patches don't show up in patchwork:
>>> I think I know what it is. I will try to find it and fix it in the next
>>> revision. There is something somewhere which is not ASCII clean and I
>>> had UTF8 warnings for these.
>>>
>> Hi Anton,
>>
>> Ok. There might be more issues though. If I patch your first patch
>> manually, the second patch doesn't apply cleanly. Patch 3 applies ok
>> afterwards but #4 fails.
>>
>>>> https://patchwork.ozlabs.org/project/openvswitch/list/?series=188809
>>>>
>>>> Also, there were changes in OVN master in the meantime and trying to
>>>> apply your changes manually also fails due to conflicts in quite a few
>>>> places.
>>> That unfortunately will be the case with the next version after a few
>>> commits to master.
>>>
>>> As long as the code follows the current layout, any version which tries
>>> to re-organize processing will be very painful to rebase.
>>>
>> I agree, unfortunately I don't know what we can do to avoid that right
>> now.
>>
>>> It may be a good idea to apply something like patches 1 from this series
>>> (the one that got lost). It splits out the sequential code in the
>>> lswitch and lrouter lflow build into a sequence of procedures.
>> Sounds good, let's try that. To make that happen it's better to send the
>> series as non-rfc and mention explicitly in the cover letter that the
>> first patch doesn't depend on any unapplied OVS patches. Like that, once
>> acked, patch 1 could be applied on its own.
>>
>>> This makes any future changes much easier to merge.
>>>
>> To save a round of reviews, I have some comments on patch #1. It might
>> be good to address them before sending a new version of the series.
>>
>> Also I think it might make review easier if patch #1 is split in
>> multiple smaller patches (that would get applied together), one per
>> function. Right now it's quite hard to compare the old version with the
>> new one.
>>
>> Regarding patch #4, I think it should be split in (at least) two parts:
>> - refactoring of lflow generation for logical switches: this should
>> happen in the beginning of the series like for logical router flows.
>> - parallelization of the lflow generation.
> 
> I am going to split the whole sequence in much smaller chunks and I will
> deliberately preserve the existing indent.
> 
> One of the reasons why git cannot figure out what is what and merge
> anything is that moving code to per-stage functions will change the
> indent one step to the left. This marks the whole block as a change for
> git.
> 
> If the original indent is kept temporarily "as is" (despite this being
> an obvious style violation), the diffs should be become possible to rebase.
> 
> So I apologize in advance for the next series being "ugly". If we decide
> to use this and it is merged we can always tidy up the indents at that
> point.
> 

I'll let other people comment on this too. From my perspective though,
if the commit is relatively small, e.g., introducing only one refactored
function at a time, it's desired to have the correct indentation from
the beginning.

Regards,
Dumitru

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to