All of lore.kernel.org
 help / color / mirror / Atom feed
From: Meelis Roos <mroos@linux.ee>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: linux-pm@vger.kernel.org,
	Linux Kernel list <linux-kernel@vger.kernel.org>
Subject: 4.14 regression - hang on shutdown (VIA longhaul related?)
Date: Mon, 27 Nov 2017 12:53:12 +0200 (EET)	[thread overview]
Message-ID: <alpine.LRH.2.21.1711241741080.10361@math.ut.ee> (raw)

On my Via EPIA-M min-ITX computer, 4.13 works reliably but 4.14 
shutdown or reboot hangs with message "sda: synchronizing cache". 
Longhaul cpufreq has been enable manually with "longhaul.enable=1" and 
it work but ocassionally logs th efollowing in dmesg:

longhaul: Warning: Timeout while waiting for idle PCI bus
cpufreq: __target_index: Failed to change cpu frequency: -16

It took time to bisect because with bad kernels, it does not happen each 
time. Bisecting finally leads to the following commit. Reverting just 
this commit makes it work again.

e948bc8fbee077735c2b71b991a5ca5e573f3506 is the first bad commit
commit e948bc8fbee077735c2b71b991a5ca5e573f3506
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Thu Aug 17 09:12:27 2017 +0530

    cpufreq: Cap the default transition delay value to 10 ms
    
    If transition_delay_us isn't defined by the cpufreq driver, the default
    value of transition delay (time after which the cpufreq governor will
    try updating the frequency again) is currently calculated by multiplying
    transition_latency (nsec) with LATENCY_MULTIPLIER (1000) and then
    converting this time to usec. That gives the exact same value as
    transition_latency, just that the time unit is usec instead of nsec.
    
    With acpi-cpufreq for example, transition_latency is set to around 10
    usec and we get transition delay as 10 ms. Which seems to be a
    reasonable amount of time to reevaluate the frequency again.
    
    But for platforms where frequency switching isn't that fast (like ARM),
    the transition_latency varies from 500 usec to 3 ms, and the transition
    delay becomes 500 ms to 3 seconds. Of course, that is a pretty bad
    default value to start with.
    
    We can try to come across a better formula (instead of multiplying with
    LATENCY_MULTIPLIER) to solve this problem, but will that be worth it ?
    
    This patch tries a simple approach and caps the maximum value of default
    transition delay to 10 ms. Of course, userspace can still come in and
    change this value anytime or individual drivers can rather provide
    transition_delay_us instead.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

:040000 040000 7bb8dafb58b703b36fc43d3a081c1a4677a4afde 084c10fa24028461048bcf4b8be5360f36aedd05 M      drivers


-- 
Meelis Roos (mroos@linux.ee)

             reply	other threads:[~2017-11-27 10:53 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-27 10:53 Meelis Roos [this message]
2017-11-27 13:26 ` 4.14 regression - hang on shutdown (VIA longhaul related?) Rafael J. Wysocki
2017-11-27 14:31   ` Meelis Roos
2017-11-27 15:19     ` Meelis Roos
2017-11-27 16:21       ` Rafael J. Wysocki
2017-11-27 20:20         ` Meelis Roos
2017-11-28  3:11 ` [PATCH] cpufreq: longhaul: Set transition_delay_us to 20 ms Viresh Kumar
2017-11-28 22:07   ` Rafael J. Wysocki
2017-11-29  6:59     ` Meelis Roos
2017-12-04 15:03       ` Rafael J. Wysocki
2017-12-05  8:18   ` Meelis Roos
2017-12-05  8:54     ` Meelis Roos
2017-12-05 15:26       ` Rafael J. Wysocki
2017-12-06 18:21         ` Meelis Roos
2017-12-07  4:40           ` Viresh Kumar
2017-12-07  5:14             ` Meelis Roos
2017-12-07  7:26             ` Meelis Roos
2017-12-07  9:33               ` Viresh Kumar
2017-12-07 12:51             ` Meelis Roos
2017-12-07 12:54               ` Rafael J. Wysocki
2017-12-07  9:45 ` [PATCH V2] cpufreq: longhaul: Revert transition_delay_us to 200 ms Viresh Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LRH.2.21.1711241741080.10361@math.ut.ee \
    --to=mroos@linux.ee \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=viresh.kumar@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.