[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACRpkdbf3vvaXQchKws-0vhKh6dL66u_tU4itP1Yx0AKeD+FDg@mail.gmail.com>
Date: Fri, 22 Sep 2017 13:23:48 +0200
From: Linus Walleij <linus.walleij@...aro.org>
To: Adrian Hunter <adrian.hunter@...el.com>
Cc: Ulf Hansson <ulf.hansson@...aro.org>,
linux-mmc <linux-mmc@...r.kernel.org>,
linux-block <linux-block@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Bough Chen <haibo.chen@....com>,
Alex Lemberg <alex.lemberg@...disk.com>,
Mateusz Nowak <mateusz.nowak@...el.com>,
Yuliy Izrailov <Yuliy.Izrailov@...disk.com>,
Jaehoon Chung <jh80.chung@...sung.com>,
Dong Aisheng <dongas86@...il.com>,
Das Asutosh <asutoshd@...eaurora.org>,
Zhangfei Gao <zhangfei.gao@...il.com>,
Sahitya Tummala <stummala@...eaurora.org>,
Harjani Ritesh <riteshh@...eaurora.org>,
Venu Byravarasu <vbyravarasu@...dia.com>,
Shawn Lin <shawn.lin@...k-chips.com>,
Christoph Hellwig <hch@....de>
Subject: Re: [PATCH V8 01/14] mmc: core: Introduce host claiming by context
On Wed, Sep 13, 2017 at 1:40 PM, Adrian Hunter <adrian.hunter@...el.com> wrote:
> Currently the host can be claimed by a task. Change this so that the host
> can be claimed by a context that may or may not be a task. This provides
> for the host to be claimed by a block driver queue to support blk-mq, while
> maintaining compatibility with the existing use of mmc_claim_host().
>
> Signed-off-by: Adrian Hunter <adrian.hunter@...el.com>
I think this is a reasonable intermediate step as well.
I am working to kill off the "big MMC host lock" by the following
plan:
DONE:
- Convert all ioctl() ops to custom block layer requests (done)
- Convert all debugfs ops to custom block layer requests (done)
- Convert RPMB access to a character device to avoid one
partition switch (just merged)
REMAINS:
- Convert boot and "general" partitions to be part of the main
block device. Because they are. (This is really tricky and
may require changes in the core kernel partition handling.)
- Delete the dual mode card support. (No-one seems to be
using it.)
- Split the world in block access and SDIO with something
like a simple mutex: either the host is a block device OR
it is SDIO, and that state has the same lifetime as a card,
since they are now either block devices or SDIO not both
at the same time.
- Implement a lighter lock for SDIO host claiming.
- Now the lock should be gone...
As you can see it is not entirely trivial :/
Linus
Powered by blists - more mailing lists