• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

noironetworks / opflex / 1705
79%
master: 68%

Build:
Build:
LAST BUILD BRANCH: coveralls
DEFAULT BRANCH: master
Ran 11 Dec 2020 05:14AM UTC
Jobs 1
Files 270
Run time 18s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
1705

push

travis-ci-com

Gautam Venkataramanan
Fix more data race issues

1) Triangular deadlock
Scenario:
Svc Stats thread:
Holds switch manager mutex (sm_mutex) and sends barrier message to OVS and is stuck to get a response.
CondVar needs to be notified by sw connection thread.
Due to this all flow CRUD stalls.

Agent thread:
During contract/table-drop timer kickoff, it holds pstatMtx (to protect while going through all tables and collects stats from flows).
It is blocked while trying to acquire switch manager mutex.... (which is needed to protect flow writes)

Switch Connection thread:
Tries to acquire pstatMtx during stats response, and is stuck
It wont be able to send condVar notify to unblock svc stats thread since it doesnt get a chance to service barrier response.....

Fix:
Unfortunately not detected by tsan. The fix is to break the cycle by making the lock order static.
i.e. "sm_mutex --> pstatMtx"

2) Optimization: Reduce critical section of svcStatsMutex. Both stats CRUD and collection handling are done by Svc Stats thread. Reducing the critical section just to protect cookie podsvc map.

3) Protecting idgen maps during cleanup timer that does garbage collection (every 360 seconds)

Signed-off-by: Gautam Venkataramanan <gautam.chennai@gmail.com>

22191 of 28062 relevant lines covered (79.08%)

3616.25 hits per line

Jobs
ID Job ID Ran Files Coverage
1 1705.1 (TEST_SUITE=travis-build.sh) 11 Dec 2020 05:14AM UTC 0
79.08
Travis Job 1705.1
Source Files on build 1705
  • Tree
  • List 270
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Build #1705
  • fd50d944 on github
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc