Add documentation to 'papr_hcalls.rst' describing the
input, output and return values of the H_HTM hcall as
per the internal specification.
v3 patch:
https://lore.kernel.org/linuxppc-dev/20240828085223.42177-3-ma...@linux.ibm.com/
Signed-off-by: Abhishek Dubey
Co-developed-by
ps://lore.kernel.org/linuxppc-dev/20240828085223.42177-2-ma...@linux.ibm.com/
Signed-off-by: Abhishek Dubey
Co-developed-by: Madhavan Srinivasan
Signed-off-by: Madhavan Srinivasan
---
arch/powerpc/platforms/pseries/Kconfig | 9 ++
arch/powerpc/platforms/pseries/Makefile | 1 +
arch/powerpc/
Define macros and wrapper functions to handle
H_HTM (Hardware Trace Macro) hypervisor call.
H_HTM is new HCALL added to export data from
Hardware Trace Macro (HTM) function.
v3 patch:
https://lore.kernel.org/linuxppc-dev/20240828085223.42177-1-ma...@linux.ibm.com/
Signed-off-by: Abhishek
for powerpc once its upstream.
Until then, we can have this implementation of rethook to serve
current kretprobe usecases.
Reviewed-by: Naveen Rao
Signed-off-by: Abhishek Dubey
---
arch/powerpc/Kconfig | 1 +
arch/powerpc/kernel/Makefile | 1 +
arch/po
for powerpc once its upstream.
Until then, we can have this implementation of rethook to serve
current kretprobe usecases.
Signed-off-by: Abhishek Dubey
---
arch/powerpc/Kconfig | 1 +
arch/powerpc/kernel/Makefile | 1 +
arch/powerpc/kernel/kprobes.c| 65 +--
For printing dump_trace, just use existing stats_print()
function.
Signed-off-by: Abhishek Dubey
---
tools/perf/builtin-report.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 9718770facb5..6edc0d4ce6fb
For printing dump_trace, just use existing stats_print()
function.
Signed-off-by: Abhishek Dubey
---
tools/perf/builtin-report.c | 5 +
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 69618fb0110b..8678eebc49e6
ther archs:
commit b57c2f124098 ("riscv: add riscv rethook implementation")
commit 7b0a096436c2 ("LoongArch: Replace kretprobe with rethook")
Signed-off-by: Abhishek Dubey
---
Changes in v3:
* Fixing return address moved to arch_rethook_fixup_return()
* Addressed other minor
ther archs:
commit b57c2f124098 ("riscv: add riscv rethook implementation")
commit 7b0a096436c2 ("LoongArch: Replace kretprobe with rethook")
Signed-off-by: Abhishek Dubey
---
arch/powerpc/Kconfig | 1 +
arch/powerpc/kernel/Makefile | 1 +
arch/po
For printing dump_trace, use existing stats_print()
function.
Signed-off-by: Abhishek Dubey
---
tools/perf/builtin-report.c | 5 +
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index dcd93ee5fc24..3cabd5b0bfec 100644
ther archs:
commit b57c2f124098 ("riscv: add riscv rethook implementation")
commit 7b0a096436c2 ("LoongArch: Replace kretprobe with rethook")
Signed-off-by: Abhishek Dubey
---
arch/powerpc/Kconfig | 1 +
arch/powerpc/kernel/Makefile | 1 +
arch/po
if firmware-stop-supported property is present.
Earlier part of this patch was posted in this series :
https://lkml.org/lkml/2020/3/4/589
Signed-off-by: Abhishek Goel
Signed-off-by: Pratik Rajesh Sampat
---
v1->v2 : Combined patch 2 and 3 from previous iteration and rebased it.
arch/powe
Commit 1961acad2f88559c2cdd2ef67c58c3627f1f6e54 removes usage of
function "validate_dt_prop_sizes". This patch removes this unused
function.
Signed-off-by: Abhishek Goel
---
drivers/cpuidle/cpuidle-powernv.c | 14 --
1 file changed, 14 deletions(-)
diff --git a/drive
, are then handled in opal,
from where we return successfully back to kernel.
Signed-off-by: Abhishek Goel
---
v1->v2 : Rebased the patch on Nick's Opal V4 OS patchset
arch/powerpc/include/asm/opal-api.h| 4 +++-
arch/powerpc/include/asm/opal.h| 1 +
arch/powerpc/p
Hi Nick,
Have you posted out the kernel side of "opal v4" patchset?
I could only find the opal patchset.
Thanks,
Abhishek
On 04/28/2020 06:38 AM, Nicholas Piggin wrote:
Thanks for picking this up and pushing it along. I do plan to come back
and take another look at it all, but what
if firmware-stop-supported property is present.
Earlier this patch was posted as part of this series :
https://lkml.org/lkml/2020/3/4/589
Signed-off-by: Pratik Rajesh Sampat
Signed-off-by: Abhishek Goel
---
v1->v2: This patch is newly added in this series.
arch/powerpc/include/
l/2020/3/4/589
Signed-off-by: Pratik Rajesh Sampat
Signed-off-by: Abhishek Goel
---
v1->v2: This patch is newly added in this series.
arch/powerpc/include/asm/processor.h | 17 +
arch/powerpc/kernel/dt_cpu_ftrs.c | 5 +
arch/powerpc/platforms/powern
/1245275/
Signed-off-by: Abhishek Goel
Signed-off-by: Nicholas Piggin
---
v1->v2 : No change in this patch.
arch/powerpc/include/asm/opal-api.h| 8 -
arch/powerpc/include/asm/opal.h| 3 ++
arch/powerpc/kernel/idle_book3s.S | 5 +++
arch/powerpc/platforms/powe
: Abhishek Goel
Signed-off-by: Nicholas Piggin
---
arch/powerpc/include/asm/opal-api.h| 8 -
arch/powerpc/include/asm/opal.h| 3 ++
arch/powerpc/kernel/idle_book3s.S | 5 +++
arch/powerpc/platforms/powernv/idle.c | 37 ++
arch/powerpc
idle path.
We also use the computed timeout to get timeout for snooze, thus getting
rid of get_snooze_timeout for snooze loop.
Signed-off-by: Abhishek Goel
---
drivers/cpuidle/cpuidle-powernv.c | 35 +++
include/linux/cpuidle.h | 1 +
2 files changed, 13
: Abhishek Goel
---
drivers/cpuidle/sysfs.c | 15 ++-
include/linux/cpuidle.h | 3 +++
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/drivers/cpuidle/sysfs.c b/drivers/cpuidle/sysfs.c
index 2bb2683b4..6c9bf2f7b 100644
--- a/drivers/cpuidle/sysfs.c
+++ b/drivers/cpuidle
essentially train the
governor to select a deeper state for that cpu, as the timer here
corresponds to the next available cpuidle state residency. Thus, cpu will
eventually end up in the deepest possible state.
Signed-off-by: Abhishek Goel
---
Auto-promotion
v1 : started as auto promotion logic for
tches that was found out in recent experiments.
No change in patch 2 and 3.
Abhishek Goel (3):
cpuidle-powernv : forced wakeup for stop states
cpuidle : Add callback whenever a state usage is enabled/disabled
cpuidle-powernv : Recompute the idle-state timeouts when state usage
Removed threshold latency which was being used to decide if a state
is cpuidle type or not. This decision can be taken using flags, as this
information has been encapsulated in the state->flags and being read
from idle device-tree.
Signed-off-by: Abhishek Goel
---
arch/powerpc/include/asm/o
bility of the code.
Stop handle corresponding to each state can be called directly since
state pointer is being passed now.
Signed-off-by: Abhishek Goel
---
arch/powerpc/include/asm/cpuidle.h| 8 +-
arch/powerpc/platforms/powernv/idle.c | 331 +++---
2 files changed,
info.
Signed-off-by: Abhishek Goel
---
arch/powerpc/include/asm/processor.h | 5 +-
arch/powerpc/platforms/powernv/idle.c | 50 ---
drivers/cpuidle/cpuidle-powernv.c | 69 +--
3 files changed, 55 insertions(+), 69 deletions(-)
diff --git a/arch/powerpc
residency-ns = <0x989680>;
psscr = <0x0 0x300374>;
...
};
...
stop11 {
...
compatible = "stop11,v1",
...
};
idle path.
We also use the computed timeout to get timeout for snooze, thus getting
rid of get_snooze_timeout for snooze loop.
Signed-off-by: Abhishek Goel
---
drivers/cpuidle/cpuidle-powernv.c | 35 +++
include/linux/cpuidle.h | 1 +
2 files changed, 13
-by: Abhishek Goel
---
drivers/cpuidle/sysfs.c | 15 ++-
include/linux/cpuidle.h | 4
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/drivers/cpuidle/sysfs.c b/drivers/cpuidle/sysfs.c
index eb20adb5de23..141671a53967 100644
--- a/drivers/cpuidle/sysfs.c
+++ b/drivers
essentially train the
governor to select a deeper state for that cpu, as the timer here
corresponds to the next available cpuidle state residency. Thus, cpu will
eventually end up in the deepest possible state.
Signed-off-by: Abhishek Goel
---
Auto-promotion
v1 : started as auto promotion logic for
ame of set/reset decrementer function.
Handled irq work pending in try_set_dec_before_idle.
No change in patch 2 and 3.
Abhishek Goel (3):
cpuidle-powernv : forced wakeup for stop states
cpuidle : Add callback whenever a state usage is enabled/disabled
cpuidle-powernv : Recomput
Hi Nick,
Will post next version with the changes you have suggested.
There is a comment below.
On 07/07/2019 03:43 PM, Nicholas Piggin wrote:
Abhishek Goel's on July 4, 2019 7:18 pm:
Currently, the cpuidle governors determine what idle state a idling CPU
should enter into based on heuri
idle path.
We also use the computed timeout to get timeout for snooze, thus getting
rid of get_snooze_timeout for snooze loop.
Signed-off-by: Abhishek Goel
---
drivers/cpuidle/cpuidle-powernv.c | 35 +++
include/linux/cpuidle.h | 1 +
2 files changed, 13
-by: Abhishek Goel
---
drivers/cpuidle/sysfs.c | 15 ++-
include/linux/cpuidle.h | 4
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/drivers/cpuidle/sysfs.c b/drivers/cpuidle/sysfs.c
index eb20adb5d..141671a53 100644
--- a/drivers/cpuidle/sysfs.c
+++ b/drivers
essentially train the
governor to select a deeper state for that cpu, as the timer here
corresponds to the next available cpuidle state residency. Thus, cpu will
eventually end up in the deepest possible state.
Signed-off-by: Abhishek Goel
---
Auto-promotion
v1 : started as auto promotion logic for
whenever a
state is enbaled or disabled instead of computing everytime in fast
idle path.
3) Use disable callback to recompute timeout whenever state usage
is changed for a state. Also, cleaned up the get_snooze_timeout
function.
Abhishek Goel (3):
cpuid
Hi Nick,
On 06/19/2019 03:39 PM, Nicholas Piggin wrote:
Abhishek's on June 19, 2019 7:08 pm:
Hi Nick,
Thanks for the review. Some replies below.
On 06/19/2019 09:53 AM, Nicholas Piggin wrote:
Abhishek Goel's on June 17, 2019 7:56 pm:
Currently, the cpuidle governors determine
Hi Nick,
Thanks for the review. Some replies below.
On 06/19/2019 09:53 AM, Nicholas Piggin wrote:
Abhishek Goel's on June 17, 2019 7:56 pm:
Currently, the cpuidle governors determine what idle state a idling CPU
should enter into based on heuristics that depend on the idle history on
essentially train the
governor to select a deeper state for that cpu, as the timer here
corresponds to the next available cpuidle state residency. Thus, cpu will
eventually end up in the deepest possible state.
Signed-off-by: Abhishek Goel
---
Auto-promotion
v1 : started as auto promotion logic for
ced wakeup instead of auto-promotion
v2 of forced-wakeup : Extended the forced wakeup logic for all states.
Setting the decrementer instead of queuing up a hrtimer to implement the
logic.
Abhishek Goel (1):
cpuidle-powernv : forced wakeup for stop states
drivers/cpuidle/cpuidle-powe
On 05/08/2019 10:29 AM, Nicholas Piggin wrote:
Abhishek Goel's on April 22, 2019 4:32 pm:
Currently, the cpuidle governors determine what idle state a idling CPU
should enter into based on heuristics that depend on the idle history on
that CPU. Given that no predictive heuristic is pe
. Few such iterations will essentially train the governor to
select a deeper state for that cpu, as the timer here corresponds to the
next available cpuidle state residency. Cpu will be kicked out of the lite
state and end up in a non-lite state.
Signed-off-by: Abhishek Goel
---
arch/powerpc/include
down power consumption. We may extend this
model for other states in future.
Abhishek Goel (1):
cpuidle-powernv : forced wakeup for stop lite states
arch/powerpc/include/asm/opal-api.h | 1 +
drivers/cpuidle/cpuidle-powernv.c | 71 -
2 files changed, 71 insertions(+),
Hi Rafael,
Thanks for the Review. Few inline replies below.
On 04/09/2019 03:31 PM, Rafael J. Wysocki wrote:
On Fri, Apr 5, 2019 at 11:17 AM Abhishek Goel
wrote:
Currently, the cpuidle governors (menu /ladder) determine what idle state
There are three governors in 5.1-rc.
an idling CPU
On 04/09/2019 03:00 PM, Rafael J. Wysocki wrote:
On Tue, Apr 9, 2019 at 11:29 AM Abhishek wrote:
Hi Daniel,
Thanks for such a descriptive review. I will include all the suggestions
made in my next iteration.
Please give me some time to send comments before that.
Sure, I will wait for your
based on CPUIDLE_FLAG_ rather than CONFIG_CPU_IDLE_? Won't
this always be true, given that the flag is defined regardless of the
config option in the header?
Yeah, You are right. This should have been CONFIG_CPU_IDLE_AUTO_PROMOTION.
--Abhishek
Hi Daniel,
Thanks for such a descriptive review. I will include all the suggestions
made in my next iteration.
--Abhishek
On 04/08/2019 07:42 PM, Daniel Axtens wrote:
Hi Abhishek,
Currently, the cpuidle governors (menu /ladder) determine what idle state
an idling CPU should enter into
This patch sets up flags for the state which needs to be auto-promoted. On
POWERNV system, only lite states need to be autopromoted. We identify lite
states by those which do not lose user context. That information has been
used to set the flag for lite states.
Signed-off-by: Abhishek Goel
as
soon as possible.
Signed-off-by: Abhishek Goel
---
v1->v2 : Removed timeout_needed and rebased to current upstream kernel
drivers/cpuidle/cpuidle.c | 68 +-
drivers/cpuidle/governors/ladder.c | 3 +-
drivers/cpuidle/governors/menu.c |
-promotion only for stop0_lite, as it gives performance benefit(primary
reason) along with lowering down power consumption. We may extend this
model for other states in future.
Abhishek Goel (2):
cpuidle : auto-promotion for cpuidle states
cpuidle : Add auto-promotion flag to cpuidle flags
ar
On 04/04/2019 03:51 PM, Daniel Lezcano wrote:
Hi Abhishek,
thanks for taking the time to test the different scenario and give us
the numbers.
On 01/04/2019 07:11, Abhishek wrote:
On 03/22/2019 06:56 PM, Daniel Lezcano wrote:
On 22/03/2019 10:45, Rafael J. Wysocki wrote:
On Fri, Mar 22
On 03/22/2019 06:56 PM, Daniel Lezcano wrote:
On 22/03/2019 10:45, Rafael J. Wysocki wrote:
On Fri, Mar 22, 2019 at 8:31 AM Abhishek Goel
wrote:
Currently, the cpuidle governors (menu /ladder) determine what idle state
an idling CPU should enter into based on heuristics that depend on the
Please ignore this set as this is incomplete. I have resent the patches.
--Abhishek
On 03/22/2019 11:55 AM, Abhishek Goel wrote:
Currently, the cpuidle governors (menu/ladder) determine what idle state a
idling CPU should enter into based on heuristics that depend on the idle
history on that
This patch sets up flags for the state which needs to be auto-promoted.
For powernv systems, lite states do not even lose user context. That
information has been used to set the flag for lite states.
Signed-off-by: Abhishek Goel
---
arch/powerpc/include/asm/opal-api.h | 1 +
drivers/cpuidle
as
soon as possible.
Signed-off-by: Abhishek Goel
---
drivers/cpuidle/cpuidle.c | 79 +-
drivers/cpuidle/governors/ladder.c | 3 +-
drivers/cpuidle/governors/menu.c | 23 -
include/linux/cpuidle.h| 12 +++--
4 files changed, 111
case will occur in the scenario when no other shallow states are
enbaled, and only deep states are available for auto-promotion.
Abhishek Goel (2):
cpuidle : auto-promotion for cpuidle states
cpuidle : Add auto-promotion flag to cpuidle flags
arch/powerpc/include/asm/opal-api.h | 1 +
drivers
case will occur in the scenario when no other shallow states are
enbaled, and only deep states are available for auto-promotion.
Abhishek Goel (2):
cpuidle : auto-promotion for cpuidle states
cpuidle : Add auto-promotion flag to cpuidle flags
arch/powerpc/include/asm/opal-api.h | 1 +
drivers
This patch sets up flags for the state which needs to be auto-promoted.
For powernv systems, lite states do not even lose user context. That
information has been used to set the flag for lite states.
Signed-off-by: Abhishek Goel
---
arch/powerpc/include/asm/opal-api.h | 1 +
drivers/cpuidle
as
soon as possible.
Signed-off-by: Abhishek Goel
---
drivers/cpuidle/cpuidle.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
index 2406e2655..c4d1c1b38 100644
--- a/drivers/cpuidle/cpuidle.c
+++ b/drivers/cpuidle/cpuidle.c
@@ -584,11
-stop exit actions in OPAL. If a kernel knows about this
opal call, then just a firmware supporting newer hardware is required,
instead of waiting for kernel updates.
Signed-off-by: Abhishek Goel
---
Link to the Skiboot patch corresponding to this patch:
http://patchwork.ozlabs.org/patch/947568
fall
back to reading name into description to not break the comaptibility
with older firmware.
Thanks
Abhishek
I posted the node based device tree here :
skiboot patch : https://patchwork.ozlabs.org/patch/923120/
kernel patch : https://lkml.org/lkml/2018/5/30/1146
Do you have any inputs for
"cpupower monitor -l" or "cpupower idle-info".
Signed-off-by: Abhishek Goel
---
The skiboot patch which adds description for idle states in device tree
can be found here: https://patchwork.ozlabs.org/patch/924879/
drivers/cpuidle/cpuidle-powernv.c | 19 ++
l" or "cpupower idle-info".
Signed-off-by: Abhishek Goel
---
The skiboot patch which adds description for idle states in device tree
can be found here: https://patchwork.ozlabs.org/patch/921637/
drivers/cpuidle/cpuidle-powernv.c | 17 +
include/linux/cpuidle.h
On 12/20/2017 12:20 PM, Viresh Kumar wrote:
On 20-12-17, 12:12, Abhishek Goel wrote:
diff --git a/drivers/cpufreq/powernv-cpufreq.c
b/drivers/cpufreq/powernv-cpufreq.c
index b6d7c4c..fd642bc 100644
--- a/drivers/cpufreq/powernv-cpufreq.c
+++ b/drivers/cpufreq/powernv-cpufreq.c
@@ -37,6 +37,7
y.
Signed-off-by: Abhishek Goel
---
Skiboot patch required for the corresponding device-tree changes have been
posted here : http://patchwork.ozlabs.org/patch/862256/
drivers/cpufreq/powernv-cpufreq.c | 104 ++
1 file changed, 95 insertions(+), 9 deletion
y.
Signed-off-by: Abhishek Goel
---
drivers/cpufreq/powernv-cpufreq.c | 110 ++
1 file changed, 100 insertions(+), 10 deletions(-)
diff --git a/drivers/cpufreq/powernv-cpufreq.c
b/drivers/cpufreq/powernv-cpufreq.c
index b6d7c4c..fd642bc 100644
--- a/drive
On 12/14/2017 10:12 AM, Viresh Kumar wrote:
+ Gautham,
@Gautham: Can you please help reviewing this one ?
On 13-12-17, 13:49, Abhishek Goel wrote:
@@ -693,6 +746,8 @@ static int powernv_cpufreq_target_index(struct
cpufreq_policy *policy,
{
struct powernv_smp_call_data freq_data
y.
Signed-off-by: Abhishek Goel
---
drivers/cpufreq/powernv-cpufreq.c | 95 +++
1 file changed, 87 insertions(+), 8 deletions(-)
diff --git a/drivers/cpufreq/powernv-cpufreq.c
b/drivers/cpufreq/powernv-cpufreq.c
index b6d7c4c..9384110 100644
--- a/drive
68 matches
Mail list logo