On 7/21/14, 14:47, "Thomas Gleixner" <tglx@xxxxxxxxxxxxx> wrote: >On Mon, 21 Jul 2014, Andy Lutomirski wrote: >> On Mon, Jul 21, 2014 at 2:27 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> >>wrote: >> > All this is predicated on the fact that syscalls are 'expensive'. >> > Weren't syscalls only 100s of cycles? All this bitmap mucking is far >> > more expensive due to cacheline misses, which due to the size of the >> > things is almost guaranteed. >> >> 120 - 300 cycles for me, unless tracing happens, and I'm working on >> reducing the incidence of tracing. > >So it's a non issue indeed and definitely not worth the trouble of >that extra storage, the scheduler overhead, etc. > >Summary: Once you can't take it atomically in user space, you've lost > anyway. And we are better off to do the magic spinning in > kernel where we have all the information accessible already. And we have such an implementation with the FUTEX_LOCK_ADAPTIVE code we discussed back in Oct 2010 (purely kernel, no VDSO), updated with some of your and other's comments: http://git.infradead.org/users/dvhart/linux.git/shortlog/refs/heads/futex/f utex-lock/v7 I can work on forward porting this series to current mainline (post recent security fixes) and cleaning up the commentary and such if people are interested in seeing this implementation (based on Peter Z's spinning mutex work iirc) resurrected... -- Darren Hart Open Source Technology Center darren.hart@xxxxxxxxx Intel Corporation -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html