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

Projects
None yet
3 participants
@jasp00
Member

jasp00 commented Jul 3, 2016

This should fix #2886.

@jasp00

This comment has been minimized.

Show comment
Hide comment
@jasp00

jasp00 Jul 3, 2016

Member

Qt5 build fixed.

Member

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?

@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. 👍

@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

This comment has been minimized.

Show comment
Hide comment
@mamins1376

mamins1376 Jul 3, 2016

Contributor

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.

Contributor

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

This comment has been minimized.

Show comment
Hide comment
@mamins1376

mamins1376 Jul 3, 2016

Contributor

performance problem introduced in e55ec80.

Contributor

mamins1376 commented Jul 3, 2016

performance problem introduced in e55ec80.

@jasp00

This comment has been minimized.

Show comment
Hide comment
@jasp00

jasp00 Jul 6, 2016

Member

The high CPU usage is fixed in #2893.

Member

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

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