Merge commit 'ce929fe84f9c453263af379f3b255ff8eca01d48'Import CK as of commit 2265c7846f4ce667f5216456afe2779b23c3e5f7.
ck: Correct asm output operand widths in amd64 pointer intrinsicsThis does not appear to change generated code with the defaulttoolchain. However, KMSAN makes use of output operand specifications
ck: Correct asm output operand widths in amd64 pointer intrinsicsThis does not appear to change generated code with the defaulttoolchain. However, KMSAN makes use of output operand specifications toinstrument inline asm, and with incorrect specifications we get falsepositives in code that uses the CK_(S)LIST macros.This was submitted upstream:https://github.com/concurrencykit/ck/pull/175The commit applies the same change locally to make KMSAN usable untilsomething equivalent is merged upstream.MFC after: 1 weekSponsored by: The FreeBSD Foundation
show more ...
MFV CK@r336629: Import CK as of commit 1c1f9901c2dea7a883342cd03d3906a1bc482583This adds CK_SLIST_INSERT_PREVPTR and CK_SLIST_REMOVE_PREVPTR macrosas well as ck_pr_dec_is_zero family of functions.
MFV CK@r336629: Import CK as of commit 1c1f9901c2dea7a883342cd03d3906a1bc482583This adds CK_SLIST_INSERT_PREVPTR and CK_SLIST_REMOVE_PREVPTR macrosas well as ck_pr_dec_is_zero family of functions.MFC after: 3 weeks
Import CK as of commit b19ed4c6a56ec93215ab567ba18ba61bf1cfbac8It should fix ck_pr_[load|store]_ptr on mips and riscv, make sure no*fence instructions are used on i386, as older cpus don't support
Import CK as of commit b19ed4c6a56ec93215ab567ba18ba61bf1cfbac8It should fix ck_pr_[load|store]_ptr on mips and riscv, make sure no*fence instructions are used on i386, as older cpus don't support it, andmake sure we don't rely on gcc builtins that can lead to calls tolibatomic when linked with -O0.MFC after: 1 week
Merge CK as of commit 255a47553aa5e8d0bb5f8eec63acac7f4c25a6d8, mostlyto make sure we don't use any FP instruction.
Import Concurrency Kit in the kernel.CK is a toolkit providing different lockfree algorithms/data structures.More information can be found here : www.concurrencykit.org