[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <27240C0AC20F114CBF8149A2696CBE4A01C21FC2@SHSMSX101.ccr.corp.intel.com>
Date: Mon, 17 Feb 2014 01:44:28 +0000
From: "Liu, Chuansheng" <chuansheng.liu@...el.com>
To: "Rafael J. Wysocki" <rjw@...ysocki.net>
CC: "gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"pavel@....cz" <pavel@....cz>, "Brown, Len" <len.brown@...el.com>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Li, Zhuangzhi" <zhuangzhi.li@...el.com>
Subject: RE: [PATCH 0/5] Enabling the asynchronous threads for other phases
Hello Rafael,
> -----Original Message-----
> From: Rafael J. Wysocki [mailto:rjw@...ysocki.net]
> Sent: Monday, February 17, 2014 7:41 AM
> To: Liu, Chuansheng
> Cc: gregkh@...uxfoundation.org; pavel@....cz; Brown, Len;
> linux-pm@...r.kernel.org; linux-kernel@...r.kernel.org; Li, Zhuangzhi
> Subject: Re: [PATCH 0/5] Enabling the asynchronous threads for other phases
>
> On Monday, February 10, 2014 08:36:57 AM Liu, Chuansheng wrote:
> > Hello Rafael,
> >
> > > -----Original Message-----
> > > From: Rafael J. Wysocki [mailto:rjw@...ysocki.net]
> > > Sent: Thursday, February 06, 2014 5:53 AM
> > > To: Liu, Chuansheng
> > > Cc: gregkh@...uxfoundation.org; pavel@....cz; Brown, Len;
> > > linux-pm@...r.kernel.org; linux-kernel@...r.kernel.org; Li, Zhuangzhi
> > > Subject: Re: [PATCH 0/5] Enabling the asynchronous threads for other
> phases
> > >
> > > On Monday, January 20, 2014 04:44:34 PM Liu, Chuansheng wrote:
> > > > Hello,
> > > >
> > > > This patch series are for enabling the asynchronous threads for the
> phases
> > > > resume_noirq, resume_early, suspend_noirq and suspend_late.
> > > >
> > > > Just like commit 5af84b82701a and 97df8c12995, with async threads it
> will
> > > > reduce the system suspending and resuming time significantly.
> > > >
> > > > With these patches, in my test platform, it saved 80% time in
> resume_noirq
> > > > phase.
> > > >
> > > > Has done the suspend-resume stress test for a long time, please help to
> > > > review.
> > > >
> > > > Best Regards,
> > > >
> > > > [PATCH 1/5] PM: Adding two flags for async suspend_noirq and
> > > > [PATCH 2/5] PM: Enabling the asynchronous threads for resume_noirq
> > > > [PATCH 3/5] PM: Enabling the asyncronous threads for resume_early
> > > > [PATCH 4/5] PM: Enabling the asyncronous threads for suspend_noirq
> > > > [PATCH 5/5] PM: Enabling the asyncronous threads for suspend_late
> > >
> > > I've applied this to the bleeding-edge branch of the linux-pm.git tree, with
> > > minor changes related to coding style, white space etc.
> > Thanks your help.
>
> Unfortunately, I've just realized that your patches don't add any mechanism
> ensuring that parent devices' .suspend_noirq() will be called *after* the
> .suspend_noirq() of all their children. Of course, analogously for
> .suspend_late() and for the resume part (where children have to wait for
> their parents).
>
> In the original async suspend/resume code that is implemented using
> power.completion and I suppose you can do the same thing here.
I think "parent devices suspend after their children" is not related directly
with using async or not;
In the original code, even without asyncing, the suspend/resume has the waiting
action, but there no waiting action for suspend_noirq and other phases.
If you think the parent waiting for children is necessary for suspend_noirq/suspend_late
/resume_early/resume_noirq, I can cook other series patches.
But we can separate them with current asyncing series patches. Agree?
Powered by blists - more mailing lists