Re: [RFC PATCH v2 6/7] lib/persubnode: Introducing a simple per-subnode APIs

2016-07-12 Thread Waiman Long
On 07/12/2016 02:57 PM, Tejun Heo wrote: Hello, On Tue, Jul 12, 2016 at 02:51:31PM -0400, Waiman Long wrote: The last 2 RFC patches were created in response to Andi's comment to have coarser granularity than per-cpu. In this particular use case, I don't think global list traversals are

Re: [RFC PATCH v2 6/7] lib/persubnode: Introducing a simple per-subnode APIs

2016-07-12 Thread Waiman Long
On 07/12/2016 02:57 PM, Tejun Heo wrote: Hello, On Tue, Jul 12, 2016 at 02:51:31PM -0400, Waiman Long wrote: The last 2 RFC patches were created in response to Andi's comment to have coarser granularity than per-cpu. In this particular use case, I don't think global list traversals are

Re: [RFC PATCH v2 6/7] lib/persubnode: Introducing a simple per-subnode APIs

2016-07-12 Thread Tejun Heo
Hello, On Tue, Jul 12, 2016 at 02:51:31PM -0400, Waiman Long wrote: > The last 2 RFC patches were created in response to Andi's comment to have > coarser granularity than per-cpu. In this particular use case, I don't think > global list traversals are frequent enough to really have any noticeable

Re: [RFC PATCH v2 6/7] lib/persubnode: Introducing a simple per-subnode APIs

2016-07-12 Thread Tejun Heo
Hello, On Tue, Jul 12, 2016 at 02:51:31PM -0400, Waiman Long wrote: > The last 2 RFC patches were created in response to Andi's comment to have > coarser granularity than per-cpu. In this particular use case, I don't think > global list traversals are frequent enough to really have any noticeable

Re: [RFC PATCH v2 6/7] lib/persubnode: Introducing a simple per-subnode APIs

2016-07-12 Thread Waiman Long
On 07/12/2016 10:27 AM, Tejun Heo wrote: Hello, On Mon, Jul 11, 2016 at 01:32:11PM -0400, Waiman Long wrote: The percpu APIs are extensively used in the Linux kernel to reduce cacheline contention and improve performance. For some use cases, the percpu APIs may be too fine-grain for

Re: [RFC PATCH v2 6/7] lib/persubnode: Introducing a simple per-subnode APIs

2016-07-12 Thread Waiman Long
On 07/12/2016 10:27 AM, Tejun Heo wrote: Hello, On Mon, Jul 11, 2016 at 01:32:11PM -0400, Waiman Long wrote: The percpu APIs are extensively used in the Linux kernel to reduce cacheline contention and improve performance. For some use cases, the percpu APIs may be too fine-grain for

Re: [RFC PATCH v2 6/7] lib/persubnode: Introducing a simple per-subnode APIs

2016-07-12 Thread Waiman Long
On 07/11/2016 11:14 PM, Boqun Feng wrote: On Mon, Jul 11, 2016 at 01:32:11PM -0400, Waiman Long wrote: +/* + * Initialize the subnodes + * + * All the sibling CPUs will be in the same subnode. On top of that, we will + * put at most 2 sibling groups into the same subnode. The percpu + *

Re: [RFC PATCH v2 6/7] lib/persubnode: Introducing a simple per-subnode APIs

2016-07-12 Thread Waiman Long
On 07/11/2016 11:14 PM, Boqun Feng wrote: On Mon, Jul 11, 2016 at 01:32:11PM -0400, Waiman Long wrote: +/* + * Initialize the subnodes + * + * All the sibling CPUs will be in the same subnode. On top of that, we will + * put at most 2 sibling groups into the same subnode. The percpu + *

Re: [RFC PATCH v2 6/7] lib/persubnode: Introducing a simple per-subnode APIs

2016-07-12 Thread Tejun Heo
Hello, On Mon, Jul 11, 2016 at 01:32:11PM -0400, Waiman Long wrote: > The percpu APIs are extensively used in the Linux kernel to reduce > cacheline contention and improve performance. For some use cases, the > percpu APIs may be too fine-grain for distributed resources whereas > a per-node based

Re: [RFC PATCH v2 6/7] lib/persubnode: Introducing a simple per-subnode APIs

2016-07-12 Thread Tejun Heo
Hello, On Mon, Jul 11, 2016 at 01:32:11PM -0400, Waiman Long wrote: > The percpu APIs are extensively used in the Linux kernel to reduce > cacheline contention and improve performance. For some use cases, the > percpu APIs may be too fine-grain for distributed resources whereas > a per-node based

Re: [RFC PATCH v2 6/7] lib/persubnode: Introducing a simple per-subnode APIs

2016-07-11 Thread Boqun Feng
On Mon, Jul 11, 2016 at 01:32:11PM -0400, Waiman Long wrote: > The percpu APIs are extensively used in the Linux kernel to reduce > cacheline contention and improve performance. For some use cases, the > percpu APIs may be too fine-grain for distributed resources whereas > a per-node based

Re: [RFC PATCH v2 6/7] lib/persubnode: Introducing a simple per-subnode APIs

2016-07-11 Thread Boqun Feng
On Mon, Jul 11, 2016 at 01:32:11PM -0400, Waiman Long wrote: > The percpu APIs are extensively used in the Linux kernel to reduce > cacheline contention and improve performance. For some use cases, the > percpu APIs may be too fine-grain for distributed resources whereas > a per-node based

[RFC PATCH v2 6/7] lib/persubnode: Introducing a simple per-subnode APIs

2016-07-11 Thread Waiman Long
The percpu APIs are extensively used in the Linux kernel to reduce cacheline contention and improve performance. For some use cases, the percpu APIs may be too fine-grain for distributed resources whereas a per-node based allocation may be too coarse as we can have dozens of CPUs in a NUMA node in

[RFC PATCH v2 6/7] lib/persubnode: Introducing a simple per-subnode APIs

2016-07-11 Thread Waiman Long
The percpu APIs are extensively used in the Linux kernel to reduce cacheline contention and improve performance. For some use cases, the percpu APIs may be too fine-grain for distributed resources whereas a per-node based allocation may be too coarse as we can have dozens of CPUs in a NUMA node in