[ovs-build] Errored: david-marchand/ovs#8 (rebalance_poc2 - 590c9f5)

Travis CI builds at travis-ci.com
Thu Mar 28 19:37:52 UTC 2019


Build Update for david-marchand/ovs
-------------------------------------

Build: #8
Status: Errored

Duration: 43 mins and 59 secs
Commit: 590c9f5 (rebalance_poc2)
Author: David Marchand
Message: dpif-netdev: group pmd reloads

In a typical reconfiguration when swapping two queues from two pmd
threads, we first remove each queue from each pmd thread (step 5) and
wait for each pmd thread to report back.
After this, we add each queue to each pmd thread (step 6) and wait for
each pmd thread to report back.

x means non-polling work.
o means polling work.
| means waiting on another thread (kernel or busy loop)

       ctrl                     pmd0                     pmd1
        x                        o                        o
    seq_change()                 o                        o
    pmd0->reload                 o                        o
    cond_wait()                  o                        o
        |                   !pmd0->reload                 o
        x                   cond_signal()                 o
    seq_change()              seq_wait()                  o
    pmd1->reload             poll_block()                 o
    cond_wait()                  |                        o
        |                        |                   !pmd1->reload
        x                        |                   cond_signal()
    seq_change()                 |                     seq_wait
    pmd0->reload                 x                    poll_block()
    cond_wait()                  x                        |
        |                   !pmd0->reload                 |
        x                   cond_signal()                 |
    seq_change()                 o                        x
    pmd1->reload                 o                        x
    cond_wait()                  o                        x
        |                        o                   !pmd1->reload
        x                        o                   cond_signal()
        x                        o                        o

Let's wait for the last pmd thread to signal it finished using an atomic
count.

       ctrl                     pmd0                     pmd1
        x                        o                        o
  reloading_pmds+=2              o                        o
    seq_change()                 o                        o
    pmd0->reload                 o                        o
    seq_change()            !pmd0->reload                 o
    pmd1->reload           reloading_pmds--               o
    cond_wait()               seq_wait()             !pmd1->reload
        |                    poll_block()           reloading_pmds--
        |                        |                   cond_signal()
        x                        |                     seq_wait
  reloading_pmds+=2              |                    poll_block()
    seq_change()                 x                        |
    pmd0->reload                 x                        |
    seq_change()            !pmd0->reload                 |
    pmd1->reload           reloading_pmds--               x
    cond_wait()                  o                   !pmd1->reload
        |                        o                  reloading_pmds--
        x                        o                   cond_signal()
        x                        o                        o

Signed-off-by: David Marchand <david.marchand at redhat.com>

View the changeset: https://github.com/david-marchand/ovs/compare/ded32b427fca...590c9f53d970

View the full build log and details: https://travis-ci.com/david-marchand/ovs/builds/106167082?utm_medium=notification&utm_source=email

--

You can unsubscribe from build emails from the david-marchand/ovs repository going to https://travis-ci.com/account/preferences/unsubscribe?repository=7814345&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-build/attachments/20190328/ff7c39e3/attachment.html>


More information about the build mailing list