Re: [PATCH v10 02/38] x86/opcode: Add the WRMSRNS instruction to the x86 opcode map

2023-09-14 Thread Google
cked-by: Masami Hiramatsu (Google) Thanks, > --- > arch/x86/lib/x86-opcode-map.txt | 2 +- > tools/arch/x86/lib/x86-opcode-map.txt | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/lib/x86-opcode-map.txt b/arch/x86/lib/x86-opcode-map.txt &

Re: [PATCH bootconfig 2/3] fs/proc: Add boot loader arguments as comment to /proc/bootconfig

2023-10-06 Thread Google
ore, add comments to /proc/bootconfig of the form: > > # Parameters from bootloader: > # root=UUID=ac0f0548-a69d-43ca-a06b-7db01bcbd5ad ro quiet ... > > The second added line shows only those kernel boot parameters supplied > by the boot loader. Thanks for update it. This

Re: [PATCH bootconfig 2/3] fs/proc: Add boot loader arguments as comment to /proc/bootconfig

2023-10-06 Thread Google
, add comments to /proc/bootconfig of the form: > > > > > > # Parameters from bootloader: > > > # root=UUID=ac0f0548-a69d-43ca-a06b-7db01bcbd5ad ro quiet ... > > > > > > The second added line shows only those kernel boot parameters supplied > > >

Re: [PATCH v13 01/35] x86/cpufeatures,opcode,msr: Add the WRMSRNS instruction support

2023-12-10 Thread Google
> Add its CPU feature bit, opcode to the x86 opcode map, and an > always inline API __wrmsrns() to embed WRMSRNS into the code. > > Tested-by: Shan Kang > Signed-off-by: Xin Li Looks good to me. Acked-by: Masami Hiramatsu (Google) Thanks, > --- > > Changes since v12: &

Re: [PATCH] ring-buffer/Documentation: Add documentation on buffer_percent file

2023-12-26 Thread Google
On Tue, 26 Dec 2023 12:35:25 -0500 Steven Rostedt wrote: > From: "Steven Rostedt (Google)" > > When the buffer_percent file was added to the kernel, the documentation > should have been updated to document what that file does. > Looks good to me. Acked-by: Masami Hi

Re: [PATCH v1 1/2] docs, kprobes: Update email address of Masami Hiramatsu

2024-01-03 Thread Google
On Wed, 03 Jan 2024 14:36:47 -0700 Jonathan Corbet wrote: > Tiezhu Yang writes: > > > According to the latest authorship and Signed-off-by: > > > > Masami Hiramatsu (Google) > > > > Masami Hiramatsu is working at Google, so the current email @redhat.com

Re: [PATCH v1 2/2] docs, kprobes: Add loongarch as supported architecture

2024-01-03 Thread Google
9c28a4d ("LoongArch: Add kprobes on ftrace support") > > it is appropriate to add loongarch as supported architecture in > kprobes documentation. > > Signed-off-by: Tiezhu Yang Acked-by: Masami Hiramatsu (Google) Thanks, > --- > Documentation/trace/kpr

Re: [PATCH v5] tracing: Support to dump instance traces by ftrace_dump_on_oops

2024-02-25 Thread Google
s, or only dump on CPU > that triggered the oops if =2 or =orig_cpu is given > > Also, the sysctl node can handle the input accordingly. > > Cc: Ross Zwisler > Signed-off-by: Joel Fernandes (Google) > Signed-off-by: Huang Yiwei > --- > .../admin-guide/kerne

Re: [PATCH] tracing: Have memmapped ring buffer use ioctl of "R" range 0x20-2F

2024-07-02 Thread Google
On Tue, 2 Jul 2024 15:33:54 -0400 Steven Rostedt wrote: > From: "Steven Rostedt (Google)" > > To prevent conflicts with other ioctl numbers to allow strace to have an > idea of what is happening, add the rang of ioctls for the trace buffer > mapping from _IO("T&q

Re: [PATCH] Documentation: Document user_events ioctl code

2024-07-08 Thread Google
> > > <mailto:linux-trace-ker...@vger.kernel.org> > > > '1' 00-1F linux/timepps.h PPS > > > kit from Ulrich Windl > > > > > > <ftp://ftp.de.kernel.org/pub/linux/daemons/ntp/PPS/> > > > '2' 01-04 linux/i2o.h > > > -- > > > 2.34.1 > > > > > > > -- > > Mathieu Desnoyers > > EfficiOS Inc. > > http://www.efficios.com -- Masami Hiramatsu (Google)

[PATCH] treewide: Rename rcu_dereference_raw_notrace to _check

2019-07-11 Thread Joel Fernandes (Google)
check" indicating sparse checking. Signed-off-by: Joel Fernandes (Google) --- Previous discussion is here: https://lore.kernel.org/linuxppc-dev/20190528200014.gv28...@linux.ibm.com/T/ Documentation/RCU/Design/Requirements/Requirements.html | 2 +- arch/powerpc/include/asm/kvm_book3s_64.h

[PATCH v2 0/9] Harden list_for_each_entry_rcu() and family

2019-07-12 Thread Joel Fernandes (Google)
mentation and rculist comments. Added GregKH ack. RFC->v1: Simplify list checking macro (Rasmus Villemoes) Joel Fernandes (Google) (9): rcu/update: Remove useless check for debug_locks rcu: Add support for consolidated-RCU reader checking rcu/sync: Remove custom check for reader-s

[PATCH v2 1/9] rcu/update: Remove useless check for debug_locks

2019-07-12 Thread Joel Fernandes (Google)
In rcu_read_lock_sched_held(), debug_locks can never be true at the point we check it because we already check debug_locks in debug_lockdep_rcu_enabled() in the beginning. Remove the check. Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/update.c | 6 +- 1 file changed, 1 insertion

[PATCH v2 2/9] rcu: Add support for consolidated-RCU reader checking

2019-07-12 Thread Joel Fernandes (Google)
x27;t need to pass the optional fourth argument (cond) unless they are under some non-RCU protection and needs to make lockdep check pass. Signed-off-by: Joel Fernandes (Google) --- include/linux/rculist.h | 28 +++- include/linux/rcupdate.h | 7 +++ kernel/rcu/Kconfig.

[PATCH v2 4/9] ipv4: add lockdep condition to fix for_each_entry

2019-07-12 Thread Joel Fernandes (Google)
Signed-off-by: Joel Fernandes (Google) --- net/ipv4/fib_frontend.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c index b298255f6fdb..ef7c9f8e8682 100644 --- a/net/ipv4/fib_frontend.c +++ b/net/ipv4/fib_frontend.c @@ -127,7

[PATCH v2 3/9] rcu/sync: Remove custom check for reader-section

2019-07-12 Thread Joel Fernandes (Google)
(Google) --- Please note: Only build and boot tested this particular patch so far. include/linux/rcu_sync.h | 5 ++--- kernel/rcu/sync.c| 22 -- 2 files changed, 2 insertions(+), 25 deletions(-) diff --git a/include/linux/rcu_sync.h b/include/linux/rcu_sync.h index

[PATCH v2 6/9] workqueue: Convert for_each_wq to use built-in list check

2019-07-12 Thread Joel Fernandes (Google)
list_for_each_entry_rcu now has support to check for RCU reader sections as well as lock. Just use the support in it, instead of explictly checking in the caller. Signed-off-by: Joel Fernandes (Google) --- kernel/workqueue.c | 10 ++ 1 file changed, 2 insertions(+), 8 deletions(-) diff

[PATCH v2 5/9] driver/core: Convert to use built-in RCU list checking

2019-07-12 Thread Joel Fernandes (Google)
list_for_each_entry_rcu has built-in RCU and lock checking. Make use of it in driver core. Acked-by: Greg Kroah-Hartman Signed-off-by: Joel Fernandes (Google) --- drivers/base/base.h | 1 + drivers/base/core.c | 10 ++ drivers/base/power/runtime.c | 15

[PATCH v2 8/9] acpi: Use built-in RCU list checking for acpi_ioremaps list

2019-07-12 Thread Joel Fernandes (Google)
list_for_each_entry_rcu has built-in RCU and lock checking. Make use of it for acpi_ioremaps list traversal. Signed-off-by: Joel Fernandes (Google) --- drivers/acpi/osl.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index

[PATCH v2 7/9] x86/pci: Pass lockdep condition to pcm_mmcfg_list iterator

2019-07-12 Thread Joel Fernandes (Google)
Fernandes (Google) --- arch/x86/pci/mmconfig-shared.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c index 7389db538c30..6fa42e9c4e6f 100644 --- a/arch/x86/pci/mmconfig-shared.c +++ b/arch/x86/pci/mmconfig

[PATCH v2 9/9] doc: Update documentation about list_for_each_entry_rcu

2019-07-12 Thread Joel Fernandes (Google)
This patch updates the documentation with information about usage of lockdep with list_for_each_entry_rcu(). Signed-off-by: Joel Fernandes (Google) --- Documentation/RCU/lockdep.txt | 15 +++ Documentation/RCU/whatisRCU.txt | 9 - 2 files changed, 19 insertions(+), 5

[PATCH 7/9] x86/pci: Pass lockdep condition to pcm_mmcfg_list iterator (v1)

2019-07-15 Thread Joel Fernandes (Google)
Fernandes (Google) --- arch/x86/pci/mmconfig-shared.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c index 7389db538c30..6fa42e9c4e6f 100644 --- a/arch/x86/pci/mmconfig-shared.c +++ b/arch/x86/pci/mmconfig

[PATCH 5/9] driver/core: Convert to use built-in RCU list checking (v1)

2019-07-15 Thread Joel Fernandes (Google)
list_for_each_entry_rcu has built-in RCU and lock checking. Make use of it in driver core. Acked-by: Greg Kroah-Hartman Signed-off-by: Joel Fernandes (Google) --- drivers/base/base.h | 1 + drivers/base/core.c | 10 ++ drivers/base/power/runtime.c | 15

[PATCH 9/9] doc: Update documentation about list_for_each_entry_rcu (v1)

2019-07-15 Thread Joel Fernandes (Google)
This patch updates the documentation with information about usage of lockdep with list_for_each_entry_rcu(). Signed-off-by: Joel Fernandes (Google) --- Documentation/RCU/lockdep.txt | 15 +++ Documentation/RCU/whatisRCU.txt | 9 - 2 files changed, 19 insertions(+), 5

[PATCH 8/9] acpi: Use built-in RCU list checking for acpi_ioremaps list (v1)

2019-07-15 Thread Joel Fernandes (Google)
list_for_each_entry_rcu has built-in RCU and lock checking. Make use of it for acpi_ioremaps list traversal. Signed-off-by: Joel Fernandes (Google) --- drivers/acpi/osl.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index

[PATCH 6/9] workqueue: Convert for_each_wq to use built-in list check (v2)

2019-07-15 Thread Joel Fernandes (Google)
list_for_each_entry_rcu now has support to check for RCU reader sections as well as lock. Just use the support in it, instead of explictly checking in the caller. Signed-off-by: Joel Fernandes (Google) --- kernel/workqueue.c | 10 ++ 1 file changed, 2 insertions(+), 8 deletions(-) diff

[PATCH 4/9] ipv4: add lockdep condition to fix for_each_entry (v1)

2019-07-15 Thread Joel Fernandes (Google)
Using the previous support added, use it for adding lockdep conditions to list usage here. Signed-off-by: Joel Fernandes (Google) --- net/ipv4/fib_frontend.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c index

[PATCH 3/9] rcu/sync: Remove custom check for reader-section (v2)

2019-07-15 Thread Joel Fernandes (Google)
-off-by: Joel Fernandes (Google) --- include/linux/rcu_sync.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/include/linux/rcu_sync.h b/include/linux/rcu_sync.h index 9b83865d24f9..0027d4c8087c 100644 --- a/include/linux/rcu_sync.h +++ b/include/linux/rcu_sync.h @@ -31,9

[PATCH 2/9] rcu: Add support for consolidated-RCU reader checking (v3)

2019-07-15 Thread Joel Fernandes (Google)
x27;t need to pass the optional fourth argument (cond) unless they are under some non-RCU protection and needs to make lockdep check pass. Signed-off-by: Joel Fernandes (Google) --- include/linux/rculist.h | 28 - include/linux/rcupdate.h | 7 +++ kernel/rcu/Kconfig.

[PATCH 0/9] Harden list_for_each_entry_rcu() and family

2019-07-15 Thread Joel Fernandes (Google)
ro (Rasmus Villemoes) Joel Fernandes (Google) (9): rcu/update: Remove useless check for debug_locks (v1) rcu: Add support for consolidated-RCU reader checking (v3) rcu/sync: Remove custom check for reader-section (v2) ipv4: add lockdep condition to fix for_each_entry (v1) driver/core: Convert to use bui

[PATCH 1/9] rcu/update: Remove useless check for debug_locks (v1)

2019-07-15 Thread Joel Fernandes (Google)
In rcu_read_lock_sched_held(), debug_locks can never be true at the point we check it because we already check debug_locks in debug_lockdep_rcu_enabled() in the beginning. Remove the check. Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/update.c | 6 +- 1 file changed, 1 insertion

[PATCH] rculist: Add build check for single optional list argument

2019-07-15 Thread Joel Fernandes (Google)
optional argument is passed. [1] https://lore.kernel.org/patchwork/project/lkml/list/?series=402150 Suggested-by: Paul McKenney Signed-off-by: Joel Fernandes (Google) --- include/linux/rculist.h | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/include/linux/rculist.h b

[PATCH v1 2/2] doc: Update documentation for page_idle virtual address indexing

2019-07-22 Thread Joel Fernandes (Google)
This patch updates the documentation with the new page_idle tracking feature which uses virtual address indexing. Signed-off-by: Joel Fernandes (Google) --- .../admin-guide/mm/idle_page_tracking.rst | 41 +++ 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a

[PATCH v1 1/2] mm/page_idle: Add support for per-pid page_idle using virtual indexing

2019-07-22 Thread Joel Fernandes (Google)
exing, address space changes can occur between reading the pagemap and reading the bitmap. In virtual address indexing, the process's mmap_sem is held for the duration of the access. Cc: vdavydov@gmail.com Cc: Brendan Gregg Cc: kernel-t...@android.com Signed-off-by: Joel Fernand

[PATCH v2 2/2] doc: Update documentation for page_idle virtual address indexing

2019-07-26 Thread Joel Fernandes (Google)
This patch updates the documentation with the new page_idle tracking feature which uses virtual address indexing. Signed-off-by: Joel Fernandes (Google) --- .../admin-guide/mm/idle_page_tracking.rst | 43 --- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a

[PATCH v2 1/2] mm/page_idle: Add per-pid idle page tracking using virtual indexing

2019-07-26 Thread Joel Fernandes (Google)
ff-by: Joel Fernandes (Google) --- v1 -> v2: Mark swap ptes as idle (Minchan) Avoid need for GFP_ATOMIC (Andrew) Get rid of idle_page_list lock by moving list to stack Internal review -> v1: Fixes from Suren. Corrections to change log, docs (Florian, Sandeep) fs/proc/base.c

[PATCH v3 1/2] mm/page_idle: Add per-pid idle page tracking using virtual indexing

2019-07-26 Thread Joel Fernandes (Google)
ff-by: Joel Fernandes (Google) --- v2->v3: Fixed a bug where I was doing a kfree that is not needed due to not needing to do GFP_ATOMIC allocations. v1->v2: Mark swap ptes as idle (Minchan) Avoid need for GFP_ATOMIC (Andrew) Get rid of idle_page_list lock by moving list to stack Internal r

[PATCH v3 2/2] doc: Update documentation for page_idle virtual address indexing

2019-07-26 Thread Joel Fernandes (Google)
This patch updates the documentation with the new page_idle tracking feature which uses virtual address indexing. Signed-off-by: Joel Fernandes (Google) --- .../admin-guide/mm/idle_page_tracking.rst | 43 --- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a

[PATCH v3 0/3] Convert some RCU articles to ReST

2019-07-30 Thread Joel Fernandes (Google)
This patch is a respin of the RCU ReST patch from Mauro [1]. I updated his changelog, and made some fixes. [1] https://www.spinics.net/lists/rcu/msg00750.html Joel Fernandes (Google) (2): docs: rcu: Correct links referring to titles docs: rcu: Increase toctree to 3 Mauro Carvalho Chehab (1

[PATCH v3 2/3] docs: rcu: Correct links referring to titles

2019-07-30 Thread Joel Fernandes (Google)
Mauro's auto conversion broken these links, fix them. Signed-off-by: Joel Fernandes (Google) --- .../Tree-RCU-Memory-Ordering.rst | 17 ++-- .../RCU/Design/Requirements/Requirements.rst | 90 --- 2 files changed, 47 insertions(+), 60 deletions(-) diff --g

[PATCH v3 3/3] docs: rcu: Increase toctree to 3

2019-07-30 Thread Joel Fernandes (Google)
These documents are long and have various sections. Provide a good toc nesting level. Signed-off-by: Joel Fernandes (Google) --- Documentation/RCU/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/RCU/index.rst b/Documentation/RCU/index.rst index

[PATCH v4 4/5] page_idle: Drain all LRU pagevec before idle tracking

2019-08-05 Thread Joel Fernandes (Google)
During idle tracking, we see that sometimes faulted anon pages are in pagevec but are not drained to LRU. Idle tracking considers pages only on LRU. Drain all CPU's LRU before starting idle tracking. Signed-off-by: Joel Fernandes (Google) --- mm/page_idle.c | 6 ++ 1 file chang

[PATCH v4 5/5] doc: Update documentation for page_idle virtual address indexing

2019-08-05 Thread Joel Fernandes (Google)
This patch updates the documentation with the new page_idle tracking feature which uses virtual address indexing. Reviewed-by: Mike Rapoport Reviewed-by: Sandeep Patil Signed-off-by: Joel Fernandes (Google) --- .../admin-guide/mm/idle_page_tracking.rst | 43 --- 1 file

[PATCH v4 2/5] [RFC] x86: Add support for idle bit in swap PTE

2019-08-05 Thread Joel Fernandes (Google)
swap PTE (see the comment in arch/x86/include/asm/pgtable_64.h). Bit 2 corresponds to _PAGE_USER. Use it for swap PTE purposes. Signed-off-by: Joel Fernandes (Google) --- arch/x86/Kconfig | 1 + arch/x86/include/asm/pgtable.h | 15 +++ arch/x86/include/asm

[PATCH v4 3/5] [RFC] arm64: Add support for idle bit in swap PTE

2019-08-05 Thread Joel Fernandes (Google)
page tracking only works on user pages in the LRU. Device pages should not consitute those so it should be unused and safe to use. Cc: Robin Murphy Signed-off-by: Joel Fernandes (Google) --- arch/arm64/Kconfig| 1 + arch/arm64/include/asm/pgtable-prot.h | 1 + arch/arm64

[PATCH v4 1/5] mm/page_idle: Add per-pid idle page tracking using virtual indexing

2019-08-05 Thread Joel Fernandes (Google)
ff-by: Joel Fernandes (Google) --- v3->v4: Minor fixups (Minchan) Add swap pte handling (Konstantin, Minchan) v2->v3: Fixed a bug where I was doing a kfree that is not needed due to not needing to do GFP_ATOMIC allocations. v1->v2: Mark swap ptes as idle (Minchan) Avoid need

[PATCH v5 2/6] mm/page_idle: Add support for handling swapped PG_Idle pages

2019-08-07 Thread Joel Fernandes (Google)
f-by: Joel Fernandes (Google) --- arch/Kconfig | 3 +++ include/asm-generic/pgtable.h | 6 ++ mm/page_idle.c| 26 -- mm/rmap.c | 2 ++ 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/arch/Kcon

[PATCH v5 5/6] page_idle: Drain all LRU pagevec before idle tracking

2019-08-07 Thread Joel Fernandes (Google)
patch drains all CPU's pagevec before starting idle tracking. Signed-off-by: Joel Fernandes (Google) --- mm/page_idle.c | 21 + 1 file changed, 21 insertions(+) diff --git a/mm/page_idle.c b/mm/page_idle.c index 2766d4ab348c..26440a497609 100644 --- a/mm/page_idle.c

[PATCH v5 1/6] mm/page_idle: Add per-pid idle page tracking using virtual index

2019-08-07 Thread Joel Fernandes (Google)
ff-by: Joel Fernandes (Google) --- v3->v4: Minor fixups (Minchan) Add swap pte handling (Konstantin, Minchan) v2->v3: Fixed a bug where I was doing a kfree that is not needed due to not needing to do GFP_ATOMIC allocations. v1->v2: Mark swap ptes as idle (Minchan) Avoid need

[PATCH v5 4/6] [RFC] arm64: Add support for idle bit in swap PTE

2019-08-07 Thread Joel Fernandes (Google)
page tracking only works on user pages in the LRU. Device pages should not consitute those so it should be unused and safe to use. Cc: Robin Murphy Signed-off-by: Joel Fernandes (Google) --- arch/arm64/Kconfig| 1 + arch/arm64/include/asm/pgtable-prot.h | 1 + arch/arm64

[PATCH v5 3/6] [RFC] x86: Add support for idle bit in swap PTE

2019-08-07 Thread Joel Fernandes (Google)
swap PTE (see the comment in arch/x86/include/asm/pgtable_64.h). Bit 2 corresponds to _PAGE_USER. Use it for swap PTE purposes. Signed-off-by: Joel Fernandes (Google) --- arch/x86/Kconfig | 1 + arch/x86/include/asm/pgtable.h | 15 +++ arch/x86/include/asm

[PATCH v5 6/6] doc: Update documentation for page_idle virtual address indexing

2019-08-07 Thread Joel Fernandes (Google)
This patch updates the documentation with the new page_idle tracking feature which uses virtual address indexing. Reviewed-by: Mike Rapoport Reviewed-by: Sandeep Patil Signed-off-by: Joel Fernandes (Google) --- .../admin-guide/mm/idle_page_tracking.rst | 43 --- 1 file

[PATCH v2 2/2] rcuperf: Add kfree_rcu performance Tests

2019-08-10 Thread Joel Fernandes (Google)
CONFIG_PROVE_RCU for realistic comparisons with/without batching. Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/rcuperf.c | 189 +-- 1 file changed, 181 insertions(+), 8 deletions(-) diff --git a/kernel/rcu/rcuperf.c b/kernel/rcu/rcuperf.c index

[PATCH v2 1/2] rcu/tree: Add basic support for kfree_rcu batching

2019-08-10 Thread Joel Fernandes (Google)
5725-mutt-send-email-...@kernel.org [2] https://lkml.org/lkml/2017/12/19/824 Cc: Rao Shoaib Cc: max.byungchul.p...@gmail.com Cc: byungchul.p...@lge.com Cc: kernel-t...@android.com Cc: kernel-t...@lge.com Co-developed-by: Byungchul Park Signed-off-by: Byungchul Park Signed-off-by: Joel Fernandes (Google)

[PATCH 1/3] workqueue: Convert for_each_wq to use built-in list check (v2)

2019-08-11 Thread Joel Fernandes (Google)
list_for_each_entry_rcu now has support to check for RCU reader sections as well as lock. Just use the support in it, instead of explicitly checking in the caller. Signed-off-by: Joel Fernandes (Google) --- kernel/workqueue.c | 10 ++ 1 file changed, 2 insertions(+), 8 deletions

[PATCH 3/3] driver/core: Fix build error when SRCU and lockdep disabled

2019-08-11 Thread Joel Fernandes (Google)
2fee8 ("acpi: Use built-in RCU list checking for acpi_ioremaps list") Reported-by: kbuild test robot Signed-off-by: Joel Fernandes (Google) --- This patch is based on the -rcu dev branch. drivers/base/core.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/driver

[PATCH 2/3] doc: Update documentation about list_for_each_entry_rcu (v1)

2019-08-11 Thread Joel Fernandes (Google)
This patch updates the documentation with information about usage of lockdep with list_for_each_entry_rcu(). Signed-off-by: Joel Fernandes (Google) --- Documentation/RCU/lockdep.txt | 15 +++ Documentation/RCU/whatisRCU.txt | 9 - 2 files changed, 19 insertions(+), 5

[PATCH v2] driver/core: Fix build error when SRCU and lockdep disabled

2019-08-12 Thread Joel Fernandes (Google)
: Lai Jiangshan , Cc: linux-doc@vger.kernel.org, Cc: Mathieu Desnoyers , Cc: "Paul E. McKenney" , Cc: "Rafael J. Wysocki" , Cc: r...@vger.kernel.org, Cc: Steven Rostedt , Reported-by: kbuild test robot Signed-off-by: Joel Fernandes (Google) --- drivers/base/core.c | 4 +++-

[PATCH v3 1/2] rcu/tree: Add basic support for kfree_rcu batching

2019-08-13 Thread Joel Fernandes (Google)
chul.p...@lge.com Cc: kernel-t...@android.com Cc: kernel-t...@lge.com Co-developed-by: Byungchul Park Signed-off-by: Byungchul Park Signed-off-by: Joel Fernandes (Google) --- v2->v3: Just some code comment changes thanks to Byungchul. RFCv1->PATCH v2: Removed limits on the -&g

[PATCH v3 2/2] rcuperf: Add kfree_rcu performance Tests

2019-08-13 Thread Joel Fernandes (Google)
CONFIG_PROVE_RCU for realistic comparisons with/without batching. Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/rcuperf.c | 189 +-- 1 file changed, 181 insertions(+), 8 deletions(-) diff --git a/kernel/rcu/rcuperf.c b/kernel/rcu/rcuperf.c index

[PATCH v3 -rcu] workqueue: Convert for_each_wq to use built-in list check

2019-08-15 Thread Joel Fernandes (Google)
list_for_each_entry_rcu now has support to check for RCU reader sections as well as lock. Just use the support in it, instead of explicitly checking in the caller. Acked-by: Tejun Heo Signed-off-by: Joel Fernandes (Google) --- v1->v3: Changed lock_is_held() to lockdep_is_held() ker

[RFC v1 0/2] RCU dyntick nesting counter cleanups

2019-08-26 Thread Joel Fernandes (Google)
simple counter and can be "crowbarred" in common situations. Several nights of rcutorture testing with CONFIG_RCU_EQS_DEBUG on all RCU kernel configurations have survived without any splats. Further testing is in progress, hence marked as RFC! thanks, - Joel Joel Fernandes (Google) (2)

[RFC v1 2/2] rcu/tree: Remove dynticks_nmi_nesting counter

2019-08-26 Thread Joel Fernandes (Google)
_tick would have been set to true in the outermost interrupt, so the nested/NMI interrupts will check forced_tick anyway, and bail. Signed-off-by: Joel Fernandes (Google) --- .../Data-Structures/Data-Structures.rst | 31 +++-- Documentation/RCU/stallwarn.txt | 6 +- kerne

[RFC v1 1/2] rcu/tree: Clean up dynticks counter usage

2019-08-26 Thread Joel Fernandes (Google)
also do cheaper comparisons with zero instead for the code that keeps the tick on in rcu_nmi_enter_common(). In the next patch, both of the concerns of (2) will be addressed and then we can get rid of dynticks_nmi_nesting, however one step at a time. Signed-off-by: Joel Fernandes (Google) --- kernel/

[PATCH 4/5] rcu: Remove kfree_rcu() special casing and lazy handling

2019-08-27 Thread Joel Fernandes (Google)
Remove kfree_rcu() special casing and lazy handling from RCU. For Tiny RCU we fold the special handling into just Tiny RCU code. Suggested-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) --- Documentation/RCU/stallwarn.txt | 13 +++-- include/linux/rcu_segcblist.h | 2

[PATCH 0/5] kfree_rcu() additions for -rcu

2019-08-27 Thread Joel Fernandes (Google)
ree_rcu() is handled separately from call_rcu(), we also get rid of kfree "lazy" handling from tree RCU as suggested by Paul which will be unused. This also results in a nice negative delta as well. Joel Fernandes (Google) (5): rcu/rcuperf: Add kfree_rcu() performance Tests rcu/tree: Add multiple

[PATCH 5/5] rcu: Remove kfree_call_rcu_nobatch()

2019-08-27 Thread Joel Fernandes (Google)
Now that kfree_rcu() special casing have been removed from tree RCU, remove kfree_call_rcu_nobatch() since it is not needed. Signed-off-by: Joel Fernandes (Google) --- .../admin-guide/kernel-parameters.txt | 4 --- include/linux/rcutiny.h | 5 --- include/linux

[PATCH 1/5] rcu/rcuperf: Add kfree_rcu() performance Tests

2019-08-27 Thread Joel Fernandes (Google)
CONFIG_DEBUG_PREEMPT and CONFIG_PROVE_RCU for realistic comparisons with/without batching. Signed-off-by: Joel Fernandes (Google) --- .../admin-guide/kernel-parameters.txt | 17 ++ kernel/rcu/rcuperf.c | 181 +- 2 files changed, 190 insertions(+), 8

[PATCH 2/5] rcu/tree: Add multiple in-flight batches of kfree_rcu work

2019-08-27 Thread Joel Fernandes (Google)
more than 1 additional list did not show any improvement. Suggested-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/tree.c | 64 +-- 1 file changed, 45 insertions(+), 19 deletions(-) diff --git a/kernel/rcu/tree.c b/kernel

[PATCH 3/5] rcu/tree: Add support for debug_objects debugging for kfree_rcu()

2019-08-27 Thread Joel Fernandes (Google)
e_rcu() calls. Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/tree.c | 8 1 file changed, 8 insertions(+) diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 9b9ae4db1c2d..64568f12641d 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -2757,6 +2757,7 @@ static

[PATCH v2] rcu/tree: Add multiple in-flight batches of kfree_rcu work

2019-08-28 Thread Joel Fernandes (Google)
more than 1 additional list did not show any improvement. Suggested-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/tree.c | 61 --- 1 file changed, 42 insertions(+), 19 deletions(-) diff --git a/kernel/rcu/tree.c b/kernel

[PATCH] rcu/dyntick-idle: Add better tracing

2019-08-28 Thread Joel Fernandes (Google)
evious patches to simplify rcu_dyntick counters [1] and with these traces, I have verified the counters are working properly. [1] Link: https://lore.kernel.org/patchwork/patch/1120021/ Link: https://lore.kernel.org/patchwork/patch/1120022/ Signed-off-by: Joel Fernandes (Google) --- incl

[PATCH 0/3] kheaders fixes for -rc

2019-05-10 Thread Joel Fernandes (Google)
Linus, Greg, Masahiro, Here are some simple fixes for the kheaders feature. Please consider these patches for an rc release. They are based on Linus's master branch. Thanks! Joel Fernandes (Google) (3): kheaders: Move from proc to sysfs kheaders: Do not regenerate archive if config is not ch

[PATCH 3/3] kheaders: Make it depend on sysfs

2019-05-10 Thread Joel Fernandes (Google)
The kheaders archive is exposed through SYSFS in /sys/kernel/. Make it depend on SYSFS as it makes no sense to enable this feature without it. Suggested-by: Masahiro Yamada Signed-off-by: Joel Fernandes (Google) --- init/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/init/Kconfig

[PATCH 1/3] kheaders: Move from proc to sysfs

2019-05-10 Thread Joel Fernandes (Google)
: Steven Rostedt Acked-by: Steven Rostedt Signed-off-by: Joel Fernandes (Google) --- Changes to this patch since initial posting: Fixed sysfs file mode nit (Greg). Fixed some kconfig nits (Masami). init/Kconfig| 16 - kernel/Makefile

[PATCH 2/3] kheaders: Do not regenerate archive if config is not changed

2019-05-10 Thread Joel Fernandes (Google)
X_Y option really changes, then we there are the include/config/X/Y.h which will already tells us "if a config really changed". So we don't really need these files for regeneration detection anyway, and ignoring them fixes Linus's issue. Reported-by: Linus Torvalds Signed-

[PATCH v4 0/2] kheaders fixes for -rc

2019-05-15 Thread Joel Fernandes (Google)
https://patchwork.kernel.org/cover/10939557/ Joel Fernandes (Google) (2): kheaders: Move from proc to sysfs kheaders: Do not regenerate archive if config is not changed init/Kconfig| 17 + kernel/Makefile | 4 +-- kernel/{gen_ikh_da

[PATCH v4 2/2] kheaders: Do not regenerate archive if config is not changed

2019-05-15 Thread Joel Fernandes (Google)
X_Y option really changes, then we there are the include/config/X/Y.h which will already tells us "if a config really changed". So we don't really need these files for regeneration detection anyway, and ignoring them fixes Linus's issue. Reported-by: Linus Torvalds Signed-

[PATCH v4 1/2] kheaders: Move from proc to sysfs

2019-05-15 Thread Joel Fernandes (Google)
: Steven Rostedt Signed-off-by: Joel Fernandes (Google) --- This patch applies on top of the previous patch that was applied to the driver tree: https://lore.kernel.org/patchwork/patch/1067310/ v2->v3: Fixed sysfs file mode nit (Greg). v1->v2: Fixed some kconfig nits (Masami). init/K

[PATCH RFC 4/5] rculist: Remove hlist_for_each_entry_rcu_notrace since no users

2019-05-24 Thread Joel Fernandes (Google)
The series removes all users of the API and with this patch, the API itself. Signed-off-by: Joel Fernandes (Google) --- .clang-format | 1 - include/linux/rculist.h | 20 2 files changed, 21 deletions(-) diff --git a/.clang-format b/.clang-format index

[PATCH RFC 1/5] powerpc: Use regular rcu_dereference_raw API

2019-05-24 Thread Joel Fernandes (Google)
rcu_dereference_raw already does not do any tracing. There is no need to use the _notrace variant of it and this series removes that API, so let us use the regular variant here. Signed-off-by: Joel Fernandes (Google) --- arch/powerpc/include/asm/kvm_book3s_64.h | 2 +- 1 file changed, 1

[PATCH RFC 0/5] Remove some notrace RCU APIs

2019-05-24 Thread Joel Fernandes (Google)
The series removes users of the following APIs, and the APIs themselves, since the regular non - _notrace variants don't do any tracing anyway. * hlist_for_each_entry_rcu_notrace * rcu_dereference_raw_notrace Joel Fernandes (Google) (5): powerpc: Use regular rcu_dereference_raw API trace

[PATCH RFC 5/5] rcu: Remove rcu_dereference_raw_notrace since no users

2019-05-24 Thread Joel Fernandes (Google)
The series removes all users of the API and with this patch, the API itself. Also fix documentation. Signed-off-by: Joel Fernandes (Google) --- Documentation/RCU/Design/Requirements/Requirements.html | 6 +++--- include/linux/rcupdate.h| 9 - 2 files

[PATCH RFC 3/5] hashtable: Use the regular hlist_for_each_entry_rcu API

2019-05-24 Thread Joel Fernandes (Google)
hlist_for_each_entry_rcu already does not do any tracing. This series removes the notrace variant of it, so let us just use the regular API. In a future patch, we can also remove the hash_for_each_possible_rcu_notrace API that this patch touches. Signed-off-by: Joel Fernandes (Google

[PATCH RFC 2/5] trace: Use regular rcu_dereference_raw API

2019-05-24 Thread Joel Fernandes (Google)
rcu_dereference_raw_notrace API) with hlist_for_each_entry_rcu which also does not do any tracing. Signed-off-by: Joel Fernandes (Google) --- kernel/trace/ftrace.c | 4 ++-- kernel/trace/ftrace_internal.h | 8 kernel/trace/trace.c | 4 ++-- 3 files changed, 8 insertions(+), 8

[PATCH RFC 1/1] doc/rcu: Add some more listRCU patterns in the kernel

2019-06-01 Thread Joel Fernandes (Google)
We keep the initially written audit examples and add to it, since the code that audit has is still relevant even though slightly different in the kernel. Cc: r...@vger.kernel.org Signed-off-by: Joel Fernandes (Google) --- Documentation/RCU/listRCU.txt | 154 +++--- 1

[PATCH 2/2] Add selftests for module build using in-kernel headers

2019-02-07 Thread Joel Fernandes (Google)
This test tries to build a module successfully using the in-kernel headers found in /proc/kheaders.txz. Verified pass and fail scenarios by running: make -C tools/testing/selftests TARGETS=kheaders run_tests Signed-off-by: Joel Fernandes (Google) --- tools/testing/selftests/kheaders/Makefile

[PATCH 1/2] Provide in-kernel headers for making it easy to extend the kernel

2019-02-07 Thread Joel Fernandes (Google)
s tar -xvf /proc/kheaders.txz -C $HOME/headers >/dev/null cd my-kernel-module make -C $HOME/headers M=$(pwd) modules rmmod kheaders Signed-off-by: Joel Fernandes (Google) --- Changes since RFC: Both changes bring size down to 3.8MB: - use xz for compression - strip comments except SPDX lines -

[PATCH v2 2/2] Add selftests for module build using in-kernel headers

2019-02-11 Thread Joel Fernandes (Google)
This test tries to build a module successfully using the in-kernel headers found in /proc/kheaders.txz. Verified pass and fail scenarios by running: make -C tools/testing/selftests TARGETS=kheaders run_tests Signed-off-by: Joel Fernandes (Google) --- tools/testing/selftests/Makefile

[PATCH v2 1/2] Provide in-kernel headers for making it easy to extend the kernel

2019-02-11 Thread Joel Fernandes (Google)
s tar -xvf /proc/kheaders.txz -C $HOME/headers >/dev/null cd my-kernel-module make -C $HOME/headers M=$(pwd) modules rmmod kheaders Signed-off-by: Joel Fernandes (Google) --- Changes since v1: - removed IKH_EXTRA variable, not needed (Masahiro Yamada) - small fix ups to selftest - added t

[PATCH v3 2/2] Add selftests for module build using in-kernel headers

2019-02-27 Thread Joel Fernandes (Google)
This test tries to build a module successfully using the in-kernel headers found in /proc/kheaders.tar.xz. Verified pass and fail scenarios by running: make -C tools/testing/selftests TARGETS=kheaders run_tests Signed-off-by: Joel Fernandes (Google) --- tools/testing/selftests/Makefile

[PATCH v3 1/2] Provide in-kernel headers for making it easy to extend the kernel

2019-02-27 Thread Joel Fernandes (Google)
D_ST and IKHD_ED markers as is to facilitate future patches that would extract the headers from a kernel or module image. Signed-off-by: Joel Fernandes (Google) --- Changes since v2: (Thanks to Masahiro Yamada for several excellent suggestions) - Added support for out of tree builds.

[PATCH v4 1/2] Provide in-kernel headers for making it easy to extend the kernel

2019-03-01 Thread Joel Fernandes (Google)
ers from a kernel or module image. Signed-off-by: Joel Fernandes (Google) --- Changes since v3: - Blank tar was being generated because of a one line I forgot to push. It is updated now. - Added module.lds since arm64 needs it to build modules. Changes since v2: (T

[PATCH v4 2/2] Add selftests for module build using in-kernel headers

2019-03-01 Thread Joel Fernandes (Google)
This test tries to build a module successfully using the in-kernel headers found in /proc/kheaders.tar.xz. Verified pass and fail scenarios by running: make -C tools/testing/selftests TARGETS=kheaders run_tests Signed-off-by: Joel Fernandes (Google) --- tools/testing/selftests/Makefile

[PATCH RFC] Documentation: RCU: Clarify comment about fanout

2018-09-21 Thread Joel Fernandes (Google)
andes (Google) --- .../RCU/Design/Data-Structures/Data-Structures.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Documentation/RCU/Design/Data-Structures/Data-Structures.html b/Documentation/RCU/Design/Data-Structures/Data-Structures.html index 1d2051c

[PATCH RFC 1/3] rcu: tree: Remove unused externs

2018-09-22 Thread Joel Fernandes (Google)
These aren't used anymore. Remove them. Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/tree.h | 11 --- 1 file changed, 11 deletions(-) diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h index 703e19ff532d..57a937ac51c2 100644 --- a/kernel/rcu/tree.h +++ b/kernel/rcu/t

[PATCH RFC 2/3] rcu: tree: Fix comment about gp_seq_needed

2018-09-22 Thread Joel Fernandes (Google)
rcu_state does not have a gp_seq_needed field. This comment therefore is confusing or incorrect. Fix it. Signed-off-by: Joel Fernandes (Google) --- kernel/rcu/tree.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h index 57a937ac51c2

[PATCH RFC 3/3] Documentation: RCU: Fix rcu_preempt_state reference in stallwarn

2018-09-22 Thread Joel Fernandes (Google)
rcu_preempt_state doesn't exist anymore. Update stallwarn documentation accordingly. Signed-off-by: Joel Fernandes (Google) --- Documentation/RCU/stallwarn.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Documentation/RCU/stallwarn.txt b/Documentatio

[0/5] rcu doc updates

2018-09-25 Thread Joel Fernandes (Google)
the dyntick handling and then dig into other documents outside of Data-Structure that need updates. But let me know any suggestions. Thanks! Joel Fernandes (Google) (5): doc: rcu: Update information about resched_cpu doc: rcu: Remove rcu_dynticks from Data-Structures doc: rcu: Update Data-Struc

[2/5] doc: rcu: Remove rcu_dynticks from Data-Structures

2018-09-25 Thread Joel Fernandes (Google)
rcu_dynticks was folded into rcu_data structure. Update the data structures RCU document accordingly. Signed-off-by: Joel Fernandes (Google) --- .../BigTreeClassicRCUBHdyntick.svg| 695 -- .../Data-Structures/Data-Structures.html | 92 +-- 2 files changed, 25

  1   2   >