All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ming Lei <ming.lei@canonical.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
	Borislav Petkov <borislav.petkov@amd.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH v1 00/15] firmware loader: introduce cache/uncache firmware
Date: Fri, 10 Aug 2012 15:30:14 +0800	[thread overview]
Message-ID: <CACVXFVM_WY4v69jdQiG13B94rEPP1EzHXpetZRrTJwhmgT=S2w@mail.gmail.com> (raw)
In-Reply-To: <1344052890-31935-1-git-send-email-ming.lei@canonical.com>

On Sat, Aug 4, 2012 at 12:01 PM, Ming Lei <ming.lei@canonical.com> wrote:
> Hi,
>
> In [1][2], the problem below has been discussed for some time:
>
>         device's firmware may be lost during suspend/resume
>         cycle because device might be unplugged and plugged again
>         or device experiences system power loss during the period.
>         But in resume path, system is still not ready(process
>         frozen, rootfs not usable, ...) to complete loading firmware
>         from user space for devices.
>
> The conclusion is that caching firmware during suspend/resume cycle
> is capable of solving the problem.
>
> This patchset implements cache/uncache firmware mechanism,
> and apply the mechnism to cache device's firmware in kernel memory
> space automatically during suspend/resume cyclye, so device can
> load its firmware easily in its resume path. When resume is completed
> and system is ready, the cached firmware will be removed from
> kernel memory later.
>
> The patch 15/15 is one example to apply the firmware cache mechanism on
> ath9k-htc driver.
>
> Even there are some corener cases[3] which can't be solved by the
> cache approach, but as discussed in[4], the problem can be easily
> fixed by a simple patch written by Linus.
>
> This patch set is against 3.6.0-rc1-next-20120803.
>
> [1]. http://marc.info/?t=134278790800004&r=1&w=2
> [2]. http://marc.info/?t=132528956000002&r=10&w=2
> [3]. http://marc.info/?l=linux-usb&m=132554118928398&w=2
> [4]. http://marc.info/?l=linux-kernel&m=134323730805443&w=2
>
> --
> V1:
>         -handle vmap failure case(1/15)
>         -fix a memory leak of 'firmware_buf'(5/15)
>         -fix oops during failure path of requesting firmware(6/15)
>         -fix vmap more than one time(6/15)
>         -introduce __fw_lookup_buf to avoid code duplication(7/15)
>         -fix comment of request_firmware_nowait(9/15)
>         -avoid releasing lock in devres_for_each_res(11/15)
>         -use new devres iterator API to create fw cache entry(12/15)
>         -rename some functions and data structures(12/15)
>         -some code style fixes
>
>         Thanks for Borislav's review!

Gentle ping on -V1, :-)

Thanks,
--
Ming Lei

  parent reply	other threads:[~2012-08-10  7:30 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-04  4:01 [RFC PATCH v1 00/15] firmware loader: introduce cache/uncache firmware Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 01/15] firmware loader: simplify pages ownership transfer Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 02/15] firmware loader: fix races during loading firmware Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 03/15] firmware loader: remove unnecessary wmb() Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 04/15] firmware loader: fix creation failure of fw loader device Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 05/15] firmware loader: introduce firmware_buf Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 06/15] firmware loader: always let firmware_buf own the pages buffer Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 07/15] firmware loader: introduce cache_firmware and uncache_firmware Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 08/15] firmware loader: fix device lifetime Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 09/15] firmware loader: fix comments on request_firmware_nowait Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 10/15] firmware loader: store firmware name into devres list Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 11/15] driver core: devres: introduce devres_for_each_res Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 12/15] firmware: introduce device_cache/uncache_fw_images Ming Lei
2012-09-06 22:44   ` Andrew Morton
2012-09-07  3:32     ` Ming Lei
2012-09-07 15:16       ` Greg Kroah-Hartman
2012-09-08  9:34         ` Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 13/15] firmware loader: use small timeout for cache device firmware Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 14/15] firmware loader: cache devices firmware during suspend/resume cycle Ming Lei
2012-08-04  4:01 ` [RFC PATCH v1 15/15] wireless: ath9k-htc: only load firmware in need Ming Lei
2012-08-10  7:30 ` Ming Lei [this message]
2012-08-16 20:46   ` [RFC PATCH v1 00/15] firmware loader: introduce cache/uncache firmware Greg Kroah-Hartman
2012-08-17  0:04     ` Ming Lei

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='CACVXFVM_WY4v69jdQiG13B94rEPP1EzHXpetZRrTJwhmgT=S2w@mail.gmail.com' \
    --to=ming.lei@canonical.com \
    --cc=borislav.petkov@amd.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=torvalds@linux-foundation.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.