Re: [PATCH v5 10/11] mm/Kconfig: Adds config option to track lockless pagetable walks

2019-10-03 Thread Leonardo Bras
On Thu, 2019-10-03 at 09:44 +0200, Peter Zijlstra wrote:
> This shouldn't be a user visible option at all. Either the arch needs
> it and selects it or not.

You are right. I will do that on v6.
Thanks for the feedback!


signature.asc
Description: This is a digitally signed message part


Re: [PATCH v5 10/11] mm/Kconfig: Adds config option to track lockless pagetable walks

2019-10-03 Thread Leonardo Bras
On Thu, 2019-10-03 at 16:04 -0300, Leonardo Bras wrote:
> On Wed, 2019-10-02 at 22:08 -0400, Qian Cai wrote:
> > Can’t this name and all those new *lockless* function names be shorter? 
> > There are many functions name with *_locked, so how about dropping 
> > lockless at all, i.e., PAGE_TABLE_WALK_TRACKING blah blah?
> 
> Thanks for the feedback!
> 
> Well, in this case it only tracks the 'lockless pagetable walks'. In
> this approach, the 'locked pagetable walks' don't need to be tracked.

So, using PAGE_TABLE_WALK_TRACKING would not be very accurate (as said
before, there are the locked ones).


signature.asc
Description: This is a digitally signed message part


Re: [PATCH v5 10/11] mm/Kconfig: Adds config option to track lockless pagetable walks

2019-10-03 Thread Leonardo Bras
On Wed, 2019-10-02 at 22:08 -0400, Qian Cai wrote:
> Can’t this name and all those new *lockless* function names be shorter? 
> There are many functions name with *_locked, so how about dropping 
> lockless at all, i.e., PAGE_TABLE_WALK_TRACKING blah blah?

Thanks for the feedback!

Well, in this case it only tracks the 'lockless pagetable walks'. In
this approach, the 'locked pagetable walks' don't need to be tracked.




signature.asc
Description: This is a digitally signed message part


Re: [PATCH v5 10/11] mm/Kconfig: Adds config option to track lockless pagetable walks

2019-10-03 Thread Peter Zijlstra
On Wed, Oct 02, 2019 at 10:33:24PM -0300, Leonardo Bras wrote:
> Adds config option LOCKLESS_PAGE_TABLE_WALK_TRACKING to make possible
> enabling tracking lockless pagetable walks directly from kernel config.
> 
> Signed-off-by: Leonardo Bras 
> ---
>  mm/Kconfig | 11 +++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/mm/Kconfig b/mm/Kconfig
> index a5dae9a7eb51..00f487a0122f 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -736,4 +736,15 @@ config ARCH_HAS_PTE_SPECIAL
>  config ARCH_HAS_HUGEPD
>   bool
>  
> +config LOCKLESS_PAGE_TABLE_WALK_TRACKING
> + bool "Track (and optimize) lockless page table walks"
> + default n
> +
> + help
> +   Maintain a reference count of active lockless page table
> +   walkers. This adds 4 bytes to struct mm size, and two atomic
> +   operations to calls such as get_user_pages_fast(). Some
> +   architectures can optimize lockless page table operations if
> +   this is enabled.

This shouldn't be a user visible option at all. Either the arch needs
it and selects it or not.


Re: [PATCH v5 10/11] mm/Kconfig: Adds config option to track lockless pagetable walks

2019-10-02 Thread Qian Cai



> On Oct 2, 2019, at 9:36 PM, Leonardo Bras  wrote:
> 
> Adds config option LOCKLESS_PAGE_TABLE_WALK_TRACKING to make possible
> enabling tracking lockless pagetable walks directly from kernel config.

Can’t this name and all those new *lockless* function names be shorter? There 
are many functions name with *_locked, so how about dropping lockless at all, 
i.e., PAGE_TABLE_WALK_TRACKING blah blah?

> 
> Signed-off-by: Leonardo Bras 
> ---
> mm/Kconfig | 11 +++
> 1 file changed, 11 insertions(+)
> 
> diff --git a/mm/Kconfig b/mm/Kconfig
> index a5dae9a7eb51..00f487a0122f 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -736,4 +736,15 @@ config ARCH_HAS_PTE_SPECIAL
> config ARCH_HAS_HUGEPD
>bool
> 
> +config LOCKLESS_PAGE_TABLE_WALK_TRACKING
> +bool "Track (and optimize) lockless page table walks"
> +default n
> +
> +help
> +  Maintain a reference count of active lockless page table
> +  walkers. This adds 4 bytes to struct mm size, and two atomic
> +  operations to calls such as get_user_pages_fast(). Some
> +  architectures can optimize lockless page table operations if
> +  this is enabled.
> +
> endmenu
> -- 
> 2.20.1


[PATCH v5 10/11] mm/Kconfig: Adds config option to track lockless pagetable walks

2019-10-02 Thread Leonardo Bras
Adds config option LOCKLESS_PAGE_TABLE_WALK_TRACKING to make possible
enabling tracking lockless pagetable walks directly from kernel config.

Signed-off-by: Leonardo Bras 
---
 mm/Kconfig | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/mm/Kconfig b/mm/Kconfig
index a5dae9a7eb51..00f487a0122f 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -736,4 +736,15 @@ config ARCH_HAS_PTE_SPECIAL
 config ARCH_HAS_HUGEPD
bool
 
+config LOCKLESS_PAGE_TABLE_WALK_TRACKING
+   bool "Track (and optimize) lockless page table walks"
+   default n
+
+   help
+ Maintain a reference count of active lockless page table
+ walkers. This adds 4 bytes to struct mm size, and two atomic
+ operations to calls such as get_user_pages_fast(). Some
+ architectures can optimize lockless page table operations if
+ this is enabled.
+
 endmenu
-- 
2.20.1