All of lore.kernel.org
 help / color / mirror / Atom feed
From: Viresh Kumar <viresh.kumar@linaro.org>
To: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
Cc: rjw@sisk.pl, toralf.foerster@gmx.de, robert.jarzmik@intel.com,
	durgadoss.r@intel.com, tianyu.lan@intel.com,
	lantianyu1986@gmail.com, dirk.brandewie@gmail.com,
	stern@rowland.harvard.edu, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 7/8] cpufreq: Preserve policy structure across suspend/resume
Date: Tue, 16 Jul 2013 11:45:16 +0530	[thread overview]
Message-ID: <CAKohpo=tfd_CXDBkbE23=UdEF99ZK-17NM_cvpGJ_e9wXGzsZQ@mail.gmail.com> (raw)
In-Reply-To: <51E3C950.90503@linux.vnet.ibm.com>

On 15 July 2013 15:35, Srivatsa S. Bhat
<srivatsa.bhat@linux.vnet.ibm.com> wrote:
> Actually even I was wondering about this while writing the patch and
> I even tested shutdown after multiple suspend/resume cycles, to verify that
> the refcount is messed up. But surprisingly, things worked just fine.
>
> Logically there should've been a refcount mismatch and things should have
> failed, but everything worked fine during my tests. Apart from suspend/resume
> and shutdown tests, I even tried mixing a few regular CPU hotplug operations
> (echo 0/1 to sysfs online files), but nothing stood out.
>
> Sorry, I forgot to document this in the patch. Either the patch is wrong
> or something else is silently fixing this up. Not sure what is the exact
> situation.

To understand it I actually applied your patches to get better view of the code.
(Haven't tested it though).. And found that your code is doing the right thing
and we shouldn't get a mismatch.. This is the sequence of events I can draw:

- __cpu_add_dev() for first cpu. sets the refcount to 'x', where x are
the no. of
cpus in its clock domain.
- _cpu_add_dev() for other cpus: doesn't change anything in refcount

- Suspend:
 - cpu_remove_dev() for all cpus, due to frozen flag we don't touch the value
of count
- Resume:
 - cpu_add_dev() for all cpus, due to frozen flag we don't touch the
value of count.

And so things work as expected. That's why your code isn't breaking anything I
believe.

But can no. of cpus change inbetween suspend/resume? Then count would be
tricky as we are using the same policy structure.

  parent reply	other threads:[~2013-07-16  6:15 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-11 22:15 [PATCH 0/8] Cpufreq, cpu hotplug, suspend/resume related fixes Srivatsa S. Bhat
2013-07-11 22:15 ` [PATCH 1/8] cpufreq: Revert commit a66b2e to fix cpufreq regression during suspend/resume Srivatsa S. Bhat
2013-07-12  7:18   ` Viresh Kumar
2013-07-13 12:46     ` Paul Bolle
2013-07-15  6:18       ` Srivatsa S. Bhat
2013-07-11 22:15 ` [PATCH 2/8] cpufreq: Fix misplaced call to cpufreq_update_policy() Srivatsa S. Bhat
2013-07-12  7:06   ` Viresh Kumar
2013-07-15  6:20     ` Srivatsa S. Bhat
2013-07-15 11:37       ` Rafael J. Wysocki
2013-07-11 22:16 ` [PATCH 3/8] cpufreq: Add helper to perform alloc/free of policy structure Srivatsa S. Bhat
2013-07-12  7:09   ` Viresh Kumar
2013-07-15  6:24     ` Srivatsa S. Bhat
2013-07-11 22:16 ` [PATCH 4/8] cpufreq: Extract non-interface related stuff from cpufreq_add_dev_interface Srivatsa S. Bhat
2013-07-12  7:17   ` Viresh Kumar
2013-07-11 22:16 ` [PATCH 5/8] cpufreq: Extract the handover of policy cpu to a helper function Srivatsa S. Bhat
2013-07-12  7:19   ` Viresh Kumar
2013-07-11 22:16 ` [PATCH 6/8] cpufreq: Introduce a flag ('frozen') to separate full vs temporary init/teardown Srivatsa S. Bhat
2013-07-12  7:31   ` Viresh Kumar
2013-07-11 22:17 ` [PATCH 7/8] cpufreq: Preserve policy structure across suspend/resume Srivatsa S. Bhat
2013-07-15  9:55   ` Viresh Kumar
2013-07-15 10:05     ` Srivatsa S. Bhat
2013-07-15 10:21       ` Viresh Kumar
2013-07-15 11:52         ` Srivatsa S. Bhat
2013-07-15 11:35       ` Rafael J. Wysocki
2013-07-15 11:53         ` Srivatsa S. Bhat
2013-07-16  6:15       ` Viresh Kumar [this message]
2013-07-16  8:56         ` Srivatsa S. Bhat
2013-07-16  9:10           ` Viresh Kumar
2013-07-16  9:29             ` Srivatsa S. Bhat
2013-07-16  9:35               ` Viresh Kumar
2013-07-16  9:54                 ` Srivatsa S. Bhat
2013-07-11 22:17 ` [PATCH 8/8] cpufreq: Perform light-weight init/teardown during suspend/resume Srivatsa S. Bhat
2013-07-11 22:25 ` [PATCH 0/8] Cpufreq, cpu hotplug, suspend/resume related fixes Jarzmik, Robert
2013-07-11 22:25   ` Jarzmik, Robert
2013-07-11 22:33 ` Rafael J. Wysocki
2013-07-11 22:23   ` Srivatsa S. Bhat
2013-07-16 15:15     ` Toralf Förster
2013-07-16 21:32       ` Rafael J. Wysocki
2013-07-17  5:03         ` Srivatsa S. Bhat
2013-07-17 15:27         ` Toralf Förster
2013-07-17 15:49           ` Srivatsa S. Bhat
2013-07-21  8:43             ` Srivatsa S. Bhat
2013-07-21  8:43               ` Srivatsa S. Bhat
2013-07-21  9:40               ` Toralf Förster
2013-07-21 10:38                 ` Srivatsa S. Bhat
2013-07-21 12:59               ` Rafael J. Wysocki
2013-07-15 17:38   ` Toralf Förster
2013-07-15 23:25     ` Rafael J. Wysocki
2013-07-13  9:23 ` Toralf Förster
2013-07-13 13:50   ` Toralf Förster
2013-07-15  6:40     ` Srivatsa S. Bhat
2013-07-15  8:27 ` Lan Tianyu
2013-07-15  8:43   ` Srivatsa S. Bhat

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='CAKohpo=tfd_CXDBkbE23=UdEF99ZK-17NM_cvpGJ_e9wXGzsZQ@mail.gmail.com' \
    --to=viresh.kumar@linaro.org \
    --cc=dirk.brandewie@gmail.com \
    --cc=durgadoss.r@intel.com \
    --cc=lantianyu1986@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=robert.jarzmik@intel.com \
    --cc=srivatsa.bhat@linux.vnet.ibm.com \
    --cc=stern@rowland.harvard.edu \
    --cc=tianyu.lan@intel.com \
    --cc=toralf.foerster@gmx.de \
    /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.