All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ulf Hansson <ulf.hansson@stericsson.com>
To: Vitaly Wool <vitalywool@gmail.com>
Cc: "linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	Chris Ball <cjb@laptop.org>,
	Per FORLIN <per.forlin@stericsson.com>,
	Johan RUDHOLM <johan.rudholm@stericsson.com>,
	Lee Jones <lee.jones@linaro.org>
Subject: Re: [PATCH V2 2/2] mmc: Minimize resume-time by deferring resume
Date: Thu, 15 Dec 2011 10:22:41 +0100	[thread overview]
Message-ID: <4EE9BC61.7080705@stericsson.com> (raw)
In-Reply-To: <CAMJBoFPSEtM1rQ7Rq8d+Y6Qgd_GKq2o4p=vk60wZdbJ_Mhk_Gw@mail.gmail.com>

Hi Vitaly,

Vitaly Wool wrote:
> 
> On Wed, Dec 14, 2011 at 5:43 PM, Ulf Hansson
> <ulf.hansson@stericsson.com<mailto:ulf.hansson@stericsson.com>>
> wrote:
> 
> So in fact instead of decreasing time-to-userspace for resume, you
> are rather going to increase it in this case.
> 
> Nope, not true. :-)
> 
> Somewhere you need to handle the resume. Earlier it was done
> immediately when getting the resume request, thus every host resume
> in the sequence is added to the total time for userspace to be
> resumed.
> 
> I did some measurement, having two eMMC connected (one of them with a
> root file system mounted) and one rather good SD-card with VFAT. The
> resume time for the kernel before these patches were around 600 ms.
> After my patches I had around 20 ms.
> 
> What do you call "resume time" in this case?

Total kernel resume time.

> 
> 
> Moreover, I noticed very seldom than any mmc/sd request arrived
> within the time were the deferred resumed has not been done. Of
> course this will very much depend on what kind of userspace
> application that is running and if there is an ongoing file transfer
> that were frozen when doing suspend.
> 
> ...or  the wakeup source was the userspace alarm etc. etc.
> 
> 
> But, if this happens (deferred resume not done), the total resume
> time for that particular userspace application will anyway be heavily
> decreased since the other hosts resume time did not affect the resume
> time for this application.
> 
> I take that by "other hosts" you mean SD card? :)

"Other hosts", are all those hosts holding an eMMC/MMC or an SD-card,
but not that host that there were a request for, before the deferred
resume has finalized.

> 
> 
> -be async (e. g. start card resume process in resume routine, set
> atomic, return success and have wait_event_interruptible_timeout in
> block_rq if this atomic is set).
> 
> Don't follow you. This is exactly what the patch is doing. Not just
> for SD, but also for (e)MMC. I don't see your issue.
> 
> The issue is  that in most cases when you have a root filesystem on
> the eMMC, block request will come in less than 3 seconds and this
> application will have to wait. You don't spawn resume immediately.
> 
> Also, how about race conditions resuming say SD and eMMC at the same
> time?

One host holds one card. One card has one blkdev thread/queue. Resume is
done for each host separate, no such thing as race can ever occur, I
believe.

> 
> 
> Anyway, in fact this patch is only addressing SD card case as of now
> which can be covered by runtime PM.
> 
> Nope, both SD and (e)MMC. How can runtime PM solve a normal suspend?
> It has noting to do we each other I believe.
> 
> SD card may not be resumed on system resume if it was runtime
> suspended before system suspend. That basically covers your case,
> doesn't it?

Don't quite follow you. Right now SDIO is the only type of card that
make use of runtime PM, which means mmc_power_save|restore_host could
potentially be executed for SDIO cards.

Do you mean that we should implement this for SD cards as well?

Anyway, I don't understand what this should prevent a resume from being
executed for SD/SDIO/(e)MMC at all?

Please elaborate.

> 
> ~Vitaly
> 

Please try to in-line comments, it will make it easier to follow the
discussion.


Br
Ulf Hansson


  parent reply	other threads:[~2011-12-15  9:25 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-14 15:06 [PATCH V2 0/2] mmc: Minimize resume time for sd/mmc Ulf Hansson
2011-12-14 15:06 ` [PATCH V2 1/2] mmc: block: Remove use of mmc_blk_set_blksize Ulf Hansson
2011-12-14 15:06 ` [PATCH V2 2/2] mmc: Minimize resume-time by deferring resume Ulf Hansson
     [not found]   ` <CAMJBoFNU_+Ah8oxXy2Smr5L5oZ4wjZ1m8v6sp-kVcxgk4kYmNg@mail.gmail.com>
2011-12-14 15:29     ` Ulf Hansson
     [not found]       ` <CAMJBoFM9v9ugDL8gtNJ+AMCKmvOsUQHEmEf13VDXko41AkFfFA@mail.gmail.com>
     [not found]         ` <CAMJBoFPcBzezFDRXpL36zJZTttGgUFzDCUaFC69Pxg+gEWcAOw@mail.gmail.com>
2011-12-14 16:43           ` Ulf Hansson
     [not found]             ` <CAMJBoFPSEtM1rQ7Rq8d+Y6Qgd_GKq2o4p=vk60wZdbJ_Mhk_Gw@mail.gmail.com>
2011-12-15  9:22               ` Ulf Hansson [this message]
     [not found]                 ` <CAMJBoFN5tub+Lv5p2Ae3UQY48G2TMBBmdkdsA1TNDqf2stDGVg@mail.gmail.com>
2011-12-19 11:03                   ` Ulf Hansson
     [not found]                   ` <4EEF0541.6070306@stericsson.com>
2011-12-19 12:21                     ` Ulf Hansson
2012-01-03 15:24 ` [PATCH V2 0/2] mmc: Minimize resume time for sd/mmc Ulf Hansson

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=4EE9BC61.7080705@stericsson.com \
    --to=ulf.hansson@stericsson.com \
    --cc=cjb@laptop.org \
    --cc=johan.rudholm@stericsson.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=per.forlin@stericsson.com \
    --cc=vitalywool@gmail.com \
    /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.