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
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 ++
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
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
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
-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
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
: 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
igned-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
+#in
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
imers 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
ble timers are scalable, introduce a common
timer base which is only for cpu unbound deferrable 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 implem
/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
ble timers are scalable, introduce a common
timer base which is only for cpu unbound deferrable 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 implem
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
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
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
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
: 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
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
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
-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
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
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
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
dated, 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
state,
so 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
--
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
--- a
: 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
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
tribute 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-c
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
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.
33 matches
Mail list logo