lkml.org 
[lkml]   [2022]   [Sep]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH v2 09/44] cpuidle,omap3: Push RCU-idle into driver
    Doing RCU-idle outside the driver, only to then teporarily enable it
    again before going idle is daft.

    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Tony Lindgren <tony@atomide.com>
    Tested-by: Tony Lindgren <tony@atomide.com>
    ---
    arch/arm/mach-omap2/cpuidle34xx.c | 16 ++++++++++++++++
    1 file changed, 16 insertions(+)

    --- a/arch/arm/mach-omap2/cpuidle34xx.c
    +++ b/arch/arm/mach-omap2/cpuidle34xx.c
    @@ -133,7 +133,9 @@ static int omap3_enter_idle(struct cpuid
    }

    /* Execute ARM wfi */
    + ct_idle_enter();
    omap_sram_idle();
    + ct_idle_exit();

    /*
    * Call idle CPU PM enter notifier chain to restore
    @@ -265,6 +267,7 @@ static struct cpuidle_driver omap3_idle_
    .owner = THIS_MODULE,
    .states = {
    {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = omap3_enter_idle_bm,
    .exit_latency = 2 + 2,
    .target_residency = 5,
    @@ -272,6 +275,7 @@ static struct cpuidle_driver omap3_idle_
    .desc = "MPU ON + CORE ON",
    },
    {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = omap3_enter_idle_bm,
    .exit_latency = 10 + 10,
    .target_residency = 30,
    @@ -279,6 +283,7 @@ static struct cpuidle_driver omap3_idle_
    .desc = "MPU ON + CORE ON",
    },
    {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = omap3_enter_idle_bm,
    .exit_latency = 50 + 50,
    .target_residency = 300,
    @@ -286,6 +291,7 @@ static struct cpuidle_driver omap3_idle_
    .desc = "MPU RET + CORE ON",
    },
    {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = omap3_enter_idle_bm,
    .exit_latency = 1500 + 1800,
    .target_residency = 4000,
    @@ -293,6 +299,7 @@ static struct cpuidle_driver omap3_idle_
    .desc = "MPU OFF + CORE ON",
    },
    {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = omap3_enter_idle_bm,
    .exit_latency = 2500 + 7500,
    .target_residency = 12000,
    @@ -300,6 +307,7 @@ static struct cpuidle_driver omap3_idle_
    .desc = "MPU RET + CORE RET",
    },
    {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = omap3_enter_idle_bm,
    .exit_latency = 3000 + 8500,
    .target_residency = 15000,
    @@ -307,6 +315,7 @@ static struct cpuidle_driver omap3_idle_
    .desc = "MPU OFF + CORE RET",
    },
    {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = omap3_enter_idle_bm,
    .exit_latency = 10000 + 30000,
    .target_residency = 30000,
    @@ -328,6 +337,7 @@ static struct cpuidle_driver omap3430_id
    .owner = THIS_MODULE,
    .states = {
    {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = omap3_enter_idle_bm,
    .exit_latency = 110 + 162,
    .target_residency = 5,
    @@ -335,6 +345,7 @@ static struct cpuidle_driver omap3430_id
    .desc = "MPU ON + CORE ON",
    },
    {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = omap3_enter_idle_bm,
    .exit_latency = 106 + 180,
    .target_residency = 309,
    @@ -342,6 +353,7 @@ static struct cpuidle_driver omap3430_id
    .desc = "MPU ON + CORE ON",
    },
    {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = omap3_enter_idle_bm,
    .exit_latency = 107 + 410,
    .target_residency = 46057,
    @@ -349,6 +361,7 @@ static struct cpuidle_driver omap3430_id
    .desc = "MPU RET + CORE ON",
    },
    {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = omap3_enter_idle_bm,
    .exit_latency = 121 + 3374,
    .target_residency = 46057,
    @@ -356,6 +369,7 @@ static struct cpuidle_driver omap3430_id
    .desc = "MPU OFF + CORE ON",
    },
    {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = omap3_enter_idle_bm,
    .exit_latency = 855 + 1146,
    .target_residency = 46057,
    @@ -363,6 +377,7 @@ static struct cpuidle_driver omap3430_id
    .desc = "MPU RET + CORE RET",
    },
    {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = omap3_enter_idle_bm,
    .exit_latency = 7580 + 4134,
    .target_residency = 484329,
    @@ -370,6 +385,7 @@ static struct cpuidle_driver omap3430_id
    .desc = "MPU OFF + CORE RET",
    },
    {
    + .flags = CPUIDLE_FLAG_RCU_IDLE,
    .enter = omap3_enter_idle_bm,
    .exit_latency = 7505 + 15274,
    .target_residency = 484329,

    \
     
     \ /
      Last update: 2022-09-19 12:21    [W:5.611 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site