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. Thanks, Dumitru _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev