haiku/headers/private
Augustin Cavalier 37eda488be kernel/condition_variable: Granularize locking.
Before this commit, *all* ConditionVariable operations (yes, all;
even Wait, Notify, etc.) went through a single spinlock, that also
protected the sConditionVariableHash. This obviously does not scale
so well with core count, to say the least!

With this commit, we add spinlocks to each Variable and Entry.
This makes locking somewhat more complicated (and nuanced; see
inline comment), but the trade-off seems completely worth it:

(compile HaikuDepot in VMware, 2 cores)
before
real 1m20.219s
user 1m5.619s
sys  0m40.724s

after
real 1m12.667s
user 0m57.684s
sys  0m37.251s

The more cores there are, the more of an optimization this will
likely prove to be. But 10%-across-the-board is not bad to say
the least.

Change-Id: I1e40a997fff58a79e987d7cdcafa8f7358e1115a
2019-08-03 11:24:34 -04:00
..
app Add basic support for loading ControlLook add-ons 2019-05-13 22:15:30 +00:00
audio audio: Move hmulti_audio driver API to private audio headers 2018-10-23 16:33:19 +02:00
binary_compatibility BControl: Add icon support 2013-12-22 02:48:25 +01:00
bluetooth bluetooth: remove DEBUG definition. 2016-06-05 18:55:44 +02:00
debug Move comment to correct function. 2013-05-01 19:52:00 -04:00
debugger Add (void*) casts to memcpy/memset invocations to appease GCC 8. 2019-05-24 14:21:37 -04:00
device drivers: Deduplify joystick_driver.h. 2018-06-21 18:46:30 -04:00
drivers sdhci and mmc implementation 2019-02-19 18:33:25 +00:00
file_systems packagefs: Move DebugSupport up into the file_systems shared folder. 2018-08-22 19:19:56 -04:00
firewire Minor tweaks to fix the build after the last commit. 2019-03-26 20:06:09 -04:00
fs_shell vfs: functions to change a vnode busy status and ID 2019-02-19 18:44:43 +00:00
graphics Remove private vmware driver headers. 2018-06-26 17:23:23 -04:00
index_server Add a CLucene full-text add-on. 2010-10-28 15:22:52 +00:00
input Implemented the patch on #7963 in a different way. 2011-10-31 18:09:24 +00:00
interface Interface: Add casts to memcpy/memset invocations on BPoint & BRect. 2019-05-24 16:10:13 -04:00
kernel kernel/condition_variable: Granularize locking. 2019-08-03 11:24:34 -04:00
libroot libroot: Expose the internal mutex_lock for private consumption. 2019-07-27 18:32:18 -04:00
locale Fix instanciate_catalog prototype 2015-01-17 17:02:40 +01:00
mail build: Cleanup of libgnuregex usage. 2018-03-07 18:04:31 -05:00
media Media Kit: remove MediaExtractor::Source 2019-07-13 16:14:01 +00:00
midi Midi: Remove some duplicated code 2015-08-27 11:51:57 +02:00
mount * Removed now obsolete notification (this was not even used in Tracker 2009-10-07 19:31:57 +00:00
net network/tun: Style fixes; no functional change 2019-04-17 19:24:19 +00:00
notification Notification_Server: Added ability to choose position of notifications 2017-12-24 12:02:38 +01:00
package Remove Curl, Switch to NetApi in Package Kit 2018-09-29 17:23:52 +00:00
preferences Fix glitch in Screen prefs when changing background color. 2017-04-30 10:29:39 +02:00
print PictureIterator.h: fix header guard spelling 2016-07-10 17:11:20 +02:00
runtime_loader runtime_loader: increase max length for image names. 2017-04-20 18:23:36 +02:00
screen_saver ScreenSaver: Rename BuildScreenSaverDefaultSettingsView 2016-04-13 15:50:30 -07:00
shared PVS V739: EOF compared with a value of the char type. 2019-07-21 15:47:48 +00:00
storage s/OpenBeOS License/MIT License/ universally, as they're the same thing. 2017-02-09 22:09:56 -05:00
support Add ZstdCompressionAlgorithm. 2017-11-24 21:35:49 +01:00
syslog_daemon syslog_daemon: Converted to BServer. 2015-07-22 20:40:47 +02:00
system kernel & runtime_loader: Don't load from non-packaged when "Disable user 2019-05-20 14:08:28 +00:00
textencoding
tracker Tracker FindPanel: Make a copy of fDeviceIcon 2016-07-31 19:42:39 -07:00
usb_vision some copyright headers clean up 2010-04-12 21:02:09 +00:00
userlandfs shared: Merge BOpenHashTable in; remove OpenTracker's OpenHashTable. 2019-02-15 00:34:36 +00:00
virtio virtio: Replace size return with usedLength in queue_dequeue. 2018-11-17 00:34:49 +01:00
vmdk Moved vmdkimage.h to a shareable place, cleaned it up a bit, and renamed it to 2009-10-01 03:08:46 +00:00