Re: [PATCH v11 0/4] Introducing a queue read/write lock implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/02/2014 04:03 AM, Ingo Molnar wrote:
* Waiman Long<waiman.long@xxxxxx>  wrote:

How about making the selection of MCS or ticket queuing either user
configurable or depending on the setting of NR_CPUS, NUMA, etc?
No!

There are lots of disadvantages to adding such CONFIG_NUMA Kconfig
variants for locking primitives:

  - an doubling of the test matrix

  - an doubling of the review matrix and a halving of effective review
    capacity: we've just about go the capacity to review and validate
    patches like this. Splitting out a 'only NUMA cares' variant is a
    non-starter really.

  - but most importantly, there's absolutely no reason to not be fast
    on 128 CPU systems in the low contended case either! Sacrificing
    the low contended case with 'on 128 CPU systems it is the contended
    path that matters' is an idiotic argument.

Essentially the only area were we allow Kconfig dependencies are
unyielding physical forces: such as lots of CPUs needing a wider CPU
mask.

As Peter said it, the right solution is to fix the contended case. If
that also happens to speed up or better organize the uncondended code
then that's good, but it should not make it worse.

Thanks,

	Ingo

You are right. I am trying to measure the performance impact of MCS queuing has on a lightly contended system. I need to write some custom test code to get that information. With that information, I may be able to tune it to perform more or less on par with ticket lock.

As for the additional cache line access of the MCS lock, I don't think it is really an issued as the MCS node is allocated on local stack which is likely to be in the cache anyway. I will report back when I have more data.

-Longman


--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux