lkml.org 
[lkml]   [2019]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] percpu/module resevation: change resevation size iff X86_VSMP is set
From
Date
Hi -

On 03/01/2019 04:54 PM, Christopher Lameter wrote:
> On Fri, 1 Mar 2019, Barret Rhoden wrote:
>
>> I'm not familiar with VSMP - how bad is it to use L1 cache alignment instead
>> of 4K page alignment? Maybe some structures can use the smaller alignment?
>> Or maybe have VSMP require SRCU-using modules to be built-in?
>
> It is very expensive. VMSP exchanges 4K segments via RDMA between servers
> to build a large address space and run a kernel in the large address
> space. Using smaller segments can cause a lot of
> "cacheline" bouncing (meaning transfers of 4K segments back and forth
> between servers).
>

Given that these are large machines, would it be OK to statically
reserve 64K on them for modules' percpu data?

The bug that led me to here was from someone running on a non-VSMP
machine but had that config set. Perhaps we make it more clear in the
Kconfig option to not set it on other machines. That might make it less
likely anyone on a non-VSMP machine pays the 64K overhead.

Are there any other alternatives? Not using static SRCU in any code
that could be built as a module seems a little harsh.

Thanks,

Barret

\
 
 \ /
  Last update: 2019-03-13 20:40    [W:0.064 / U:0.120 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site