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
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
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
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
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
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
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
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
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/
_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
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)
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
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
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
: 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 +++-
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
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
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
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
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)
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
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
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
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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
-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
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
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
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
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
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
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
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
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
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
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
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
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
The rcu/sync code was doing its own check whether we are in a reader
section. With RCU consolidating flavors and the generic helper added in
this series, this is no longer need. We can just use the generic helper
and it results in a nice cleanup.
Cc: Oleg Nesterov
Signed-off-by: Joel Fernandes
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.
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
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
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
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
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
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
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
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
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
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
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
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-
: 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
: 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
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-
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
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
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
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
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
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.
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
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
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
-
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
The stallwarn document incorrectly mentions 'fps=' instead of 'fqs='.
Correct that.
Signed-off-by: Joel Fernandes (Google)
---
Documentation/RCU/stallwarn.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/RCU/stallwarn.txt b/Documentati
The Requirements.html document says "Disabling Preemption Does Not Block
Grace Periods". However this is no longer true with the RCU
consolidation. Lets remove the obsolete (non-)requirement entirely.
Signed-off-by: Joel Fernandes (Google)
---
.../RCU/Design/Requirements/Requirements
a rcu_read_lock() and rcu_read_unlock().
Cc: ty...@mit.edu
Suggested-by: ty...@mit.edu
Signed-off-by: Joel Fernandes (Google)
---
Documentation/RCU/whatisRCU.txt | 20 +++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/Documentation/RCU/whatisRCU.txt b
: Joel Fernandes (Google)
---
Documentation/RCU/checklist.txt | 37 +++--
1 file changed, 7 insertions(+), 30 deletions(-)
diff --git a/Documentation/RCU/checklist.txt b/Documentation/RCU/checklist.txt
index cc22ce49618d..b90ad1b0665a 100644
--- a/Documentation/RCU
made in previous patches.
Signed-off-by: Joel Fernandes (Google)
---
Documentation/RCU/checklist.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/RCU/checklist.txt b/Documentation/RCU/checklist.txt
index b90ad1b0665a..6f469864d9f5 100644
--- a/Documentation
call_rcu_bh is now implemented in terms of call_rcu, so the suggestion
to use a different API for speed benefits is not accurate anymore.
Update the document accordingly.
Signed-off-by: Joel Fernandes (Google)
---
Documentation/RCU/checklist.txt | 6 +-
1 file changed, 1 insertion(+), 5
debugging work correctly. This update
also corrects that.
Also, add local_bh_disable() and local_bh_enable() as softirq
protection primitives and correct a grammar error in a quiz answer.
Signed-off-by: Joel Fernandes (Google)
---
Documentation/RCU/whatisRCU.txt | 55
It could be clarified better why rcu_read_lock_sched is better than
using preempt_disable, add the same.
Signed-off-by: Joel Fernandes (Google)
---
Documentation/RCU/checklist.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/RCU/checklist.txt b/Documentation
'd love to give
it a try, it looks exciting. I remember you saying you wanted to do that, so
that's something else you could potentially offload to me as you see fit ;-)
Thank you very much!
Joel Fernandes (Google) (5):
doc: rcu: Update core and full API in whatisRCU
doc: rcu
The rcu_state structure doesn't have a gp_seq_needed field. Update the
description under rcu_data accordingly, to reflect this.
Signed-off-by: Joel Fernandes (Google)
---
.../RCU/Design/Data-Structures/Data-Structures.html| 7 ---
1 file changed, 4 insertions(+), 3 dele
Since commit fced9c8cfe6b ("rcu: Avoid resched_cpu() when rescheduling
the current CPU"), resched_cpu is not directly called from
sync_sched_exp_handler. Update the documentation about the same.
Signed-off-by: Joel Fernandes (Google)
---
.../Expedited-Grace-Periods/Expedited-Grace-Pe
for clarifying over email.
Signed-off-by: Joel Fernandes (Google)
---
.../RCU/Design/Data-Structures/Data-Structures.html| 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/Documentation/RCU/Design/Data-Structures/Data-Structures.html
b/Documentation/RCU/Design/D
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
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
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
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
1 - 100 of 102 matches
Mail list logo