On Wed, Sep 13, 2017 at 1:40 PM, Adrian Hunter <adrian.hun...@intel.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.hun...@intel.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

Reply via email to