Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added LocklessList and use it for new play handles #2895

Merged
merged 1 commit into from Jul 6, 2016

Conversation

@jasp00
Copy link
Member

@jasp00 jasp00 commented Jul 3, 2016

This should fix #2886.

@jasp00 jasp00 force-pushed the jasp00:worker-lock branch from c0acf3c to f7aa773 Jul 3, 2016
@jasp00
Copy link
Member Author

@jasp00 jasp00 commented Jul 3, 2016

Qt5 build fixed.

e->next = m_first;
#endif
}
while( !m_first.testAndSetOrdered( e->next, e ) );

This comment has been minimized.

@DestyNova

DestyNova Jul 3, 2016

This looks like a busy-wait... is it likely to cause a performance problem, or can you use some kind of blocking thing here?

This comment has been minimized.

@DestyNova

DestyNova Jul 5, 2016

Ah, upon reading a little bit about lockless lists, it seems that the while condition is much more likely to succeed than fail (because, of course, no lock is being held). So this should be fine. 👍

@mamins1376
Copy link
Contributor

@mamins1376 mamins1376 commented Jul 3, 2016

Hanging bug fixed with your patch but cpu usage is still high. the interesting part is that with or without your fix, a QThread makes system load average go up to 9!!!
I will try debugging with gdb(or valgrind) and do some experiments to find the problem.

@mamins1376
Copy link
Contributor

@mamins1376 mamins1376 commented Jul 3, 2016

performance problem introduced in e55ec80.

@jasp00
Copy link
Member Author

@jasp00 jasp00 commented Jul 6, 2016

The high CPU usage is fixed in #2893.

@jasp00 jasp00 merged commit c2a406e into LMMS:master Jul 6, 2016
1 check passed
1 check passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@jasp00 jasp00 deleted the jasp00:worker-lock branch Jul 6, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.