[
https://issues.apache.org/jira/browse/KUDU-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Todd Lipcon updated KUDU-1177:
------------------------------
Priority: Minor (was: Major)
> Consider signaling cond vars outside lock in BlockingQueue
> ----------------------------------------------------------
>
> Key: KUDU-1177
> URL: https://issues.apache.org/jira/browse/KUDU-1177
> Project: Kudu
> Issue Type: Improvement
> Components: perf
> Affects Versions: GA
> Reporter: Todd Lipcon
> Priority: Minor
>
> It seems like in current implementations of libc, they don't implement the
> optimization where signaling a condition variable just moves the signaled
> thread to the top of the lock's wait queue. Instead, it actually wakes the
> thread, which will then immediately just proceed to try to take the lock, and
> block again, causing extra context switches.
> https://sourceware.org/ml/libc-alpha/2005-03/msg00228.html noted this
> behavior but it doesn't seem like anything got done, best I can tell.
> Warrants some benchmarking and investigation. Also worth noting that Impala
> does the signal outside the lock.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)