[PATCH v2] tracing: Add register read and write tracing support

2020-11-05 Thread Prasad Sodagudi
Add register read/write operations tracing support. ftrace events helps to trace register read and write location details of memory mapped IO registers. These trace logs helps to debug un clocked access of peripherals. Signed-off-by: Prasad Sodagudi --- arch/arm64/include/asm/io.h| 9

[PATCH 2] Register read and writes tracing

2020-11-05 Thread Prasad Sodagudi
that this logging would help other silicon vendors as this is generic approach. v1 -> v2: - Removed _no_log variant - tracepoint_enabled api is used. - Added depends on ARM64 Prasad Sodagudi (1): tracing: Add register read and write tracing support arch/arm64/include/asm/io.h| 9 a

[PATCH] tracing: Add register read and write tracing support

2020-09-27 Thread Prasad Sodagudi
Add register read/write operations tracing support. ftrace events helps trace register read and write location details of memory mapped IO registers. Also add _no_log variants the writel_relaxed/readl_relaed APIs to avoid excessive logging for certain register operations. Signed-off-by: Prasad

[PATCH] Register read and writes tracing

2020-09-27 Thread Prasad Sodagudi
provide your suggestion/comments to bring this patch upstream quality. Prasad Sodagudi (1): tracing: Add register read and write tracing support arch/arm64/include/asm/io.h| 117 ++--- include/linux/iorw.h | 20 +++ include/trace/events

[PATCH 2/2] printk: Make the console flush configurable in hotplug path

2020-09-23 Thread Prasad Sodagudi
Khajapasha Signed-off-by: Prasad Sodagudi --- init/Kconfig | 10 ++ kernel/printk/printk.c | 10 -- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/init/Kconfig b/init/Kconfig index d6a0b31..9ce39ba 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -699,6

[PATCH 1/2] genirq/cpuhotplug: Reduce logging level for couple of prints

2020-09-23 Thread Prasad Sodagudi
-by: Prasad Sodagudi --- arch/arm64/kernel/smp.c | 2 +- kernel/irq/cpuhotplug.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c index 355ee9e..08da6e3 100644 --- a/arch/arm64/kernel/smp.c +++ b/arch/arm64/kernel/smp.c

[PATCH 1/2] cpu/hotplug: Add cpuhp_latency trace event

2020-09-23 Thread Prasad Sodagudi
Add ftrace event trace_cpuhp_latency to track cpu hotplug latency. It helps to track the hotplug latency impact by firmware changes and kernel cpu hotplug callbacks. Signed-off-by: Prasad Sodagudi --- include/trace/events/cpuhp.h | 29 + kernel/cpu.c

[PATCH 0/2] measure latency of cpu hotplug path

2020-09-23 Thread Prasad Sodagudi
: cpuhp_exit: cpu: 0004 state: 2 step: 2 ret: 0 sh-176 [000] 265.193494: cpuhp_latency: cpu:4 state:offline latency:57431 USEC ret: 0 Prasad Sodagudi (1): cpu/hotplug: Add cpuhp_latency trace event Syed Rameez Mustafa (1): cpu-hotplug: Always use real time scheduling

[PATCH 2/2] cpu-hotplug: Always use real time scheduling when hotplugging a CPU

2020-09-23 Thread Prasad Sodagudi
-off-by: Prasad Sodagudi --- kernel/cpu.c | 41 + 1 file changed, 41 insertions(+) diff --git a/kernel/cpu.c b/kernel/cpu.c index 68b3740..aea4ce2 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -32,6 +32,7 @@ #include #include #include +#include

[PATCH v3 2/2] sched: Add a check for cpu unbound deferrable timers

2020-05-02 Thread Prasad Sodagudi
Add a check to find expired unbound deferrable timers and trigger softirq for handling timers. This way a CPU can process all the expired deferrable timers whenever it is out off idle state due to an interrupt. Signed-off-by: Prasad Sodagudi --- include/linux/timer.h| 3 +++ kernel/time

[PATCH v3 0/2] timer: make deferrable cpu unbound timers really not bound to a cpu

2020-05-02 Thread Prasad Sodagudi
really not bound to a cpu Prasad Sodagudi (1): sched: Add a check for cpu unbound deferrable timers include/linux/timer.h| 3 +++ kernel/time/tick-sched.c | 8 +- kernel/time/timer.c | 69 3 files changed, 74 insertions(+), 6 del

[PATCH v3 1/2] timer: make deferrable cpu unbound timers really not bound to a cpu

2020-05-02 Thread Prasad Sodagudi
rrable timers to make those are indeed cpu unbound so that can be scheduled by any of non idle cpus. This common timer fixes scalability issue of delayed work and all other cpu unbound deferrable timer using implementations. Signed-off-by: Joonwoo Park Signed-off-by: Prasad Sodagudi --- kernel/time/t

[PATCH v2 0/2] timer: make deferrable cpu unbound timers really not bound to a cpu

2020-04-28 Thread Prasad Sodagudi
/500541/ [2]- https://lkml.org/lkml/2020/3/16/147 Changelog: v1 -> v2: - Fixed tglx comments about warning. - Thanks Pavan for your suggestion. Joonwoo Park (1): timer: make deferrable cpu unbound timers really not bound to a cpu Prasad Sodagudi (1): sched: Add a check for cpu unbo

[PATCH v2 1/2] timer: make deferrable cpu unbound timers really not bound to a cpu

2020-04-28 Thread Prasad Sodagudi
rrable timers to make those are indeed cpu unbound so that can be scheduled by any of non idle cpus. This common timer fixes scalability issue of delayed work and all other cpu unbound deferrable timer using implementations. Signed-off-by: Joonwoo Park Signed-off-by: Prasad Sodagudi --- kernel/time/t

[PATCH v2 2/2] sched: Add a check for cpu unbound deferrable timers

2020-04-28 Thread Prasad Sodagudi
Add a check for cpu unbound deferrable timer expiry and raise softirq for handling the expired timers so that the CPU can process the cpu unbound deferrable times as early as possible when a cpu tries to enter/exit idle loop. Signed-off-by: Prasad Sodagudi --- include/linux/timer.h| 3

[PATCH] kernel/panic: Use SYSTEM_RESET2 command for warm reset

2019-05-08 Thread Prasad Sodagudi
Some platforms may need warm reboot support when kernel crashed for post mortem analysis instead of cold reboot. So use config CONFIG_WARM_REBOOT_ON_PANIC and SYSTEM_RESET2 psci command support for warm reset. Signed-off-by: Prasad Sodagudi --- kernel/panic.c| 4 lib/Kconfig.debug

[tip:irq/core] genirq: Prevent use-after-free and work list corruption

2019-03-24 Thread tip-bot for Prasad Sodagudi
Commit-ID: 59c39840f5abf4a71e1810a8da71aaccd6c17d26 Gitweb: https://git.kernel.org/tip/59c39840f5abf4a71e1810a8da71aaccd6c17d26 Author: Prasad Sodagudi AuthorDate: Sun, 24 Mar 2019 07:57:04 -0700 Committer: Thomas Gleixner CommitDate: Sun, 24 Mar 2019 22:13:17 +0100 genirq: Prevent

[PATCH v2] genirq: Prevent use-after-free and work list corruption

2019-03-24 Thread Prasad Sodagudi
corruption. Ensure that the work is canceled before the reference is dropped. Signed-off-by: Prasad Sodagudi --- kernel/irq/manage.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 9ec34a2..1a1ac84 100644 --- a/kernel/irq

[PATCH] perf: Change PMCR write to read-modify-write

2019-03-20 Thread Prasad Sodagudi
-by: Prasad Sodagudi --- arch/arm64/kernel/perf_event.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm64/kernel/perf_event.c b/arch/arm64/kernel/perf_event.c index 4addb38..0c1afdd 100644 --- a/arch/arm64/kernel/perf_event.c +++ b/arch/arm64/kernel/perf_event.c

[PATCH] genirq: call cancel_work_sync from irq_set_affinity_notifier

2019-03-20 Thread Prasad Sodagudi
When ever notification of IRQ affinity changes, call cancel_work_sync from irq_set_affinity_notifier to cancel all pending works to avoid work list corruption. Signed-off-by: Prasad Sodagudi --- kernel/irq/manage.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/irq/manage.c b

[tip:sched/urgent] stop_machine: Atomically queue and wake stopper threads

2018-08-05 Thread tip-bot for Prasad Sodagudi
Commit-ID: cfd355145c32bb7ccb65fccbe2d67280dc2119e1 Gitweb: https://git.kernel.org/tip/cfd355145c32bb7ccb65fccbe2d67280dc2119e1 Author: Prasad Sodagudi AuthorDate: Fri, 3 Aug 2018 13:56:06 -0700 Committer: Thomas Gleixner CommitDate: Sun, 5 Aug 2018 21:58:31 +0200 stop_machine

[tip:sched/urgent] stop_machine: Atomically queue and wake stopper threads

2018-08-05 Thread tip-bot for Prasad Sodagudi
Commit-ID: cfd355145c32bb7ccb65fccbe2d67280dc2119e1 Gitweb: https://git.kernel.org/tip/cfd355145c32bb7ccb65fccbe2d67280dc2119e1 Author: Prasad Sodagudi AuthorDate: Fri, 3 Aug 2018 13:56:06 -0700 Committer: Thomas Gleixner CommitDate: Sun, 5 Aug 2018 21:58:31 +0200 stop_machine

[PATCH] kbuild: clang: disable unused variable warnings only when constant

2018-02-06 Thread Prasad Sodagudi
-variable. Disable -Wunused-const-variable instead of -Wunused-variable so that GCC and Clang work in the same way. Signed-off-by: Prasad Sodagudi <psoda...@codeaurora.org> Reviewed-by: Masahiro Yamada <yamada.masah...@socionext.com> --- Makefile | 3 +-- 1 file changed, 1 insertion(+),

[PATCH] kbuild: clang: disable unused variable warnings only when constant

2018-02-06 Thread Prasad Sodagudi
-variable. Disable -Wunused-const-variable instead of -Wunused-variable so that GCC and Clang work in the same way. Signed-off-by: Prasad Sodagudi Reviewed-by: Masahiro Yamada --- Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 11aff0f

[PATCH] kbuild: clang: Disable -Wunused-const-variable warnings

2018-01-29 Thread Prasad Sodagudi
that in both clang and GCC -Wunused-const-variable gets disabled. Signed-off-by: Prasad Sodagudi <psoda...@codeaurora.org> --- Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 339397b..4b6c8e2 100644 --- a/Makefile +++ b/Makefile @@ -698,7

[PATCH] kbuild: clang: Disable -Wunused-const-variable warnings

2018-01-29 Thread Prasad Sodagudi
that in both clang and GCC -Wunused-const-variable gets disabled. Signed-off-by: Prasad Sodagudi --- Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 339397b..4b6c8e2 100644 --- a/Makefile +++ b/Makefile @@ -698,7 +698,6 @@ KBUILD_CFLAGS += $(stackp

[PATCH] kbuild: clang: Disable -Wunused-const-variable warnings

2018-01-26 Thread Prasad Sodagudi
unused local variable would be warned in clang as well. Signed-off-by: Prasad Sodagudi <psoda...@codeaurora.org> --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 339397b..c730338 100644 --- a/Makefile +++ b/Makefile @@ -698,7

[PATCH] kbuild: clang: Disable -Wunused-const-variable warnings

2018-01-26 Thread Prasad Sodagudi
unused local variable would be warned in clang as well. Signed-off-by: Prasad Sodagudi --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 339397b..c730338 100644 --- a/Makefile +++ b/Makefile @@ -698,7 +698,6 @@ KBUILD_CFLAGS += $(stackp-flag

[tip:timers/core] clockevents: Update clockevents device next_event on stop

2017-11-01 Thread tip-bot for Prasad Sodagudi
Commit-ID: 39c82caff8610d57ffe32157cb3130dfabe12fbe Gitweb: https://git.kernel.org/tip/39c82caff8610d57ffe32157cb3130dfabe12fbe Author: Prasad Sodagudi <psoda...@codeaurora.org> AuthorDate: Thu, 26 Oct 2017 11:37:22 -0700 Committer: Thomas Gleixner <t...@linutronix.de> Commit

[tip:timers/core] clockevents: Update clockevents device next_event on stop

2017-11-01 Thread tip-bot for Prasad Sodagudi
Commit-ID: 39c82caff8610d57ffe32157cb3130dfabe12fbe Gitweb: https://git.kernel.org/tip/39c82caff8610d57ffe32157cb3130dfabe12fbe Author: Prasad Sodagudi AuthorDate: Thu, 26 Oct 2017 11:37:22 -0700 Committer: Thomas Gleixner CommitDate: Wed, 1 Nov 2017 18:20:17 +0100 clockevents: Update

[PATCH] clockevents: Update clockevents device next_event

2017-10-26 Thread Prasad Sodagudi
, because clockevents_program_event() not called. As next_event is not updated properly, resulting in spurious wakeups, so update the clockevent device next_event with proper value(KTIME_MAX) to avoid spurious wakeups. Signed-off-by: Prasad Sodagudi <psoda...@codeaurora.org> --- kernel/tim

[PATCH] clockevents: Update clockevents device next_event

2017-10-26 Thread Prasad Sodagudi
, because clockevents_program_event() not called. As next_event is not updated properly, resulting in spurious wakeups, so update the clockevent device next_event with proper value(KTIME_MAX) to avoid spurious wakeups. Signed-off-by: Prasad Sodagudi --- kernel/time/tick-oneshot.c | 1 + 1 file

[PATCH] Clockevents: Always call clockevents_program_event

2017-10-24 Thread Prasad Sodagudi
always call clockevents_program_event() from tick_program_event. Signed-off-by: Prasad Sodagudi <psoda...@codeaurora.org> --- kernel/time/tick-oneshot.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/kernel/time/tick-oneshot.c b/kernel/time/tick-oneshot.c index 6

[PATCH] Clockevents: Always call clockevents_program_event

2017-10-24 Thread Prasad Sodagudi
always call clockevents_program_event() from tick_program_event. Signed-off-by: Prasad Sodagudi --- kernel/time/tick-oneshot.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/kernel/time/tick-oneshot.c b/kernel/time/tick-oneshot.c index 6b009c2..650b071 100644 --- a/kernel

[PATCH] arch_topology: Fix section miss match warning due to free_raw_capacity()

2017-10-10 Thread Prasad Sodagudi
() to the function .init.text:free_raw_capacity(). Signed-off-by: Prasad Sodagudi <psoda...@codeaurora.org> Acked-by: Viresh Kumar <viresh.ku...@linaro.org> --- drivers/base/arch_topology.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/base/arch_topology.c b/

[PATCH] arch_topology: Fix section miss match warning due to free_raw_capacity()

2017-10-10 Thread Prasad Sodagudi
() to the function .init.text:free_raw_capacity(). Signed-off-by: Prasad Sodagudi Acked-by: Viresh Kumar --- drivers/base/arch_topology.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c index 6df7d66..0ca4468 100644

[PATCH] UBSAN: Add __ubsan_handle_type_mismatch_v1 handler

2017-10-10 Thread Prasad Sodagudi
-by: Prasad Sodagudi <psoda...@codeaurora.org> --- lib/ubsan.c | 8 1 file changed, 8 insertions(+) diff --git a/lib/ubsan.c b/lib/ubsan.c index fb0409d..9baf17d 100644 --- a/lib/ubsan.c +++ b/lib/ubsan.c @@ -328,6 +328,14 @@ void __ubsan_handle_type_mismatch(struct type_mismatch_data

[PATCH] UBSAN: Add __ubsan_handle_type_mismatch_v1 handler

2017-10-10 Thread Prasad Sodagudi
-by: Prasad Sodagudi --- lib/ubsan.c | 8 1 file changed, 8 insertions(+) diff --git a/lib/ubsan.c b/lib/ubsan.c index fb0409d..9baf17d 100644 --- a/lib/ubsan.c +++ b/lib/ubsan.c @@ -328,6 +328,14 @@ void __ubsan_handle_type_mismatch(struct type_mismatch_data *data, } EXPORT_SYMBOL

[PATCH] arch_topology: Fix section miss match warning due to free_raw_capacity()

2017-09-25 Thread Prasad Sodagudi
() to the function .init.text:free_raw_capacity(). Signed-off-by: Prasad Sodagudi <psoda...@codeaurora.org> --- drivers/base/arch_topology.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c index 41be9ff..3da53cc

[PATCH] arch_topology: Fix section miss match warning due to free_raw_capacity()

2017-09-25 Thread Prasad Sodagudi
() to the function .init.text:free_raw_capacity(). Signed-off-by: Prasad Sodagudi --- drivers/base/arch_topology.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c index 41be9ff..3da53cc 100644 --- a/drivers/base

[PATCH] compiler, clang: Add always_inline attribute to inline

2017-06-19 Thread Prasad Sodagudi
to inline as done by compiler-gcc.h file. Signed-off-by: Prasad Sodagudi <psoda...@codeaurora.org> --- include/linux/compiler-clang.h | 5 + 1 file changed, 5 insertions(+) diff --git a/include/linux/compiler-clang.h b/include/linux/compiler-clang.h index d614c5e..deb65b3 100644 --- a/includ

[PATCH] compiler, clang: Add always_inline attribute to inline

2017-06-19 Thread Prasad Sodagudi
to inline as done by compiler-gcc.h file. Signed-off-by: Prasad Sodagudi --- include/linux/compiler-clang.h | 5 + 1 file changed, 5 insertions(+) diff --git a/include/linux/compiler-clang.h b/include/linux/compiler-clang.h index d614c5e..deb65b3 100644 --- a/include/linux/compiler-clang.h +++

[PATCH] genirq: Notify clients whenever there is change in affinity

2017-03-20 Thread Prasad Sodagudi
During the cpu hotplug, irq are getting migrated from hotplugging core but not getting notitfied to client drivers. So add parameter to irq_do_set_affinity(), to check and notify client drivers during the cpu hotplug. Signed-off-by: Prasad Sodagudi <psoda...@codeaurora.org> --- kern

[PATCH] genirq: Notify clients whenever there is change in affinity

2017-03-20 Thread Prasad Sodagudi
During the cpu hotplug, irq are getting migrated from hotplugging core but not getting notitfied to client drivers. So add parameter to irq_do_set_affinity(), to check and notify client drivers during the cpu hotplug. Signed-off-by: Prasad Sodagudi --- kernel/irq/cpuhotplug.c | 2 +- kernel/irq

Schedule affinity_notify work while migrating IRQs during hot plug

2017-03-20 Thread Prasad Sodagudi
irq_do_set_affinity() last argument differentiates whether notify work need to queued for this irq or not. So that we can avoid double queuing of notify in the irq_set_affinity_locked() path.

Schedule affinity_notify work while migrating IRQs during hot plug

2017-03-20 Thread Prasad Sodagudi
irq_do_set_affinity() last argument differentiates whether notify work need to queued for this irq or not. So that we can avoid double queuing of notify in the irq_set_affinity_locked() path.