mbox series

[ovs-dev,v4,0/5] Quicker pmd threads reloads

Message ID 1562689198-21481-1-git-send-email-david.marchand@redhat.com
Headers show
Series Quicker pmd threads reloads | expand

Message

David Marchand July 9, 2019, 4:19 p.m. UTC
We have been testing the rebalance code in different situations while
having traffic going through OVS.
Those tests have shown that part of the observed packets losses is due to
some time wasted in signaling/waiting for the pmd threads to reload their
polling configurations.

This series is an attempt at getting pmd threads reloads quicker and
more deterministic.

Example of number of cycles spent by a pmd between two polling
configurations (in cycles minimum/average/maximum of 1000 changes):
- cfc06fb13d9c: 141059/332512/6230137
- patch1:       146114/279722/ 721557
- patch2:        46118/176561/ 459963
- patch3:        13878/124914/ 509629
- patch4:        12980/157706/ 509447
- patch5:        12945/ 17715/  45592

Changelog since v3:
- explicitly do not wait for non pmd reload in patch 2
- added Eelco acks

Changelog since v2:
- remove unneeded synchronisation on pmd thread join in patch 2

Changelog since v1:
- incorporated Ilya suggestions in patch 2 and 3
- dropped previous acks on patch 2 and 3 but kept them on patch 4 and 5 since
  there is no major change in them

Changelog since RFC v2:
- added ack from Eelco

Changelog since RFC v1:
- added numbers per patch in cover letter
- added memory ordering for explicit synchronisations between threads
  in patch 1 and patch 2

Comments

Ilya Maximets July 10, 2019, 9:03 a.m. UTC | #1
On 09.07.2019 19:19, David Marchand wrote:
> We have been testing the rebalance code in different situations while
> having traffic going through OVS.
> Those tests have shown that part of the observed packets losses is due to
> some time wasted in signaling/waiting for the pmd threads to reload their
> polling configurations.
> 
> This series is an attempt at getting pmd threads reloads quicker and
> more deterministic.
> 
> Example of number of cycles spent by a pmd between two polling
> configurations (in cycles minimum/average/maximum of 1000 changes):
> - cfc06fb13d9c: 141059/332512/6230137
> - patch1:       146114/279722/ 721557
> - patch2:        46118/176561/ 459963
> - patch3:        13878/124914/ 509629
> - patch4:        12980/157706/ 509447
> - patch5:        12945/ 17715/  45592
> 
> Changelog since v3:
> - explicitly do not wait for non pmd reload in patch 2
> - added Eelco acks
> 
> Changelog since v2:
> - remove unneeded synchronisation on pmd thread join in patch 2
> 
> Changelog since v1:
> - incorporated Ilya suggestions in patch 2 and 3
> - dropped previous acks on patch 2 and 3 but kept them on patch 4 and 5 since
>   there is no major change in them
> 
> Changelog since RFC v2:
> - added ack from Eelco
> 
> Changelog since RFC v1:
> - added numbers per patch in cover letter
> - added memory ordering for explicit synchronisations between threads
>   in patch 1 and patch 2
> 

For the series:
Acked-by: Ilya Maximets <i.maximets@samsung.com>
Stokes, Ian July 10, 2019, 12:44 p.m. UTC | #2
On 7/10/2019 10:03 AM, Ilya Maximets wrote:
> On 09.07.2019 19:19, David Marchand wrote:
>> We have been testing the rebalance code in different situations while
>> having traffic going through OVS.
>> Those tests have shown that part of the observed packets losses is due to
>> some time wasted in signaling/waiting for the pmd threads to reload their
>> polling configurations.
>>
>> This series is an attempt at getting pmd threads reloads quicker and
>> more deterministic.
>>
>> Example of number of cycles spent by a pmd between two polling
>> configurations (in cycles minimum/average/maximum of 1000 changes):
>> - cfc06fb13d9c: 141059/332512/6230137
>> - patch1:       146114/279722/ 721557
>> - patch2:        46118/176561/ 459963
>> - patch3:        13878/124914/ 509629
>> - patch4:        12980/157706/ 509447
>> - patch5:        12945/ 17715/  45592
>>
>> Changelog since v3:
>> - explicitly do not wait for non pmd reload in patch 2
>> - added Eelco acks
>>
>> Changelog since v2:
>> - remove unneeded synchronisation on pmd thread join in patch 2
>>
>> Changelog since v1:
>> - incorporated Ilya suggestions in patch 2 and 3
>> - dropped previous acks on patch 2 and 3 but kept them on patch 4 and 5 since
>>    there is no major change in them
>>
>> Changelog since RFC v2:
>> - added ack from Eelco
>>
>> Changelog since RFC v1:
>> - added numbers per patch in cover letter
>> - added memory ordering for explicit synchronisations between threads
>>    in patch 1 and patch 2
>>
> 
> For the series:
> Acked-by: Ilya Maximets <i.maximets@samsung.com>
> 

Thanks all for the work on this series. I've validated the v4 and added 
the documentation clarification patch Ilya had provided. Pushed to master.

Regards
Ian