<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div>Hi,</div><div><br data-mce-bogus="1"></div><div>This is stable release announcement for the Userspace RCU project.<br></div><div>It covers the two currently maintained stable branches: 0.12 and 0.13,</div><div>respectively with releases v0.12.4 and v0.13.2.<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>Especially for the spurious futex wakeup fix, users of the 0.12 and 0.13 (or older)</div><div>liburcu branches are recommended to upgrade.<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>* Noteworthy in these releases:<br></div><div><br data-mce-bogus="1"></div><div><div>- Handle spurious futex wakeups in urcu-qsbr, urcu, urcu-wait, defer_rcu, call_rcu,</div><div> and workqueue code. This has been known to cause issues where the workqueue</div><div> worker thread spuriously takes nearly 100% of CPU time.<br></div><div><br data-mce-bogus="1"></div></div><div>- Change method used by _rcu_dereference ot strip type constness.</div><div> Rather than using pointer arithmetic (which does not work with opaque types),<br data-mce-bogus="1"></div><div> rely on a statement expression trick.<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>- Fix support for Linux systems where sysconf(_SC_NPROCESSORS_CONF) can<br data-mce-bogus="1"></div><div> return a value less than max cpu id.<br data-mce-bogus="1"></div><div><br>Project website: https://liburcu.org<br><br></div><div>Feedback is welcome!<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>Thanks,<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>Mathieu<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div data-marker="__SIG_POST__">-- <br></div><div>Mathieu Desnoyers<br>EfficiOS Inc.<br>http://www.efficios.com</div></div></body></html>