From: Tony Lindgren <tony@atomide.com>
To: Will Newton <will.newton@gmail.com>
Cc: linux-omap@vger.kernel.org, linux-mmc@vger.kernel.org,
kishon@ti.com, rk@ti.com, Will Newton <willn@resin.io>
Subject: Re: [PATCH v2] omap_hsmmc: Reduce max_segs for reliability
Date: Mon, 26 Jun 2017 00:35:09 -0700 [thread overview]
Message-ID: <20170626073508.GS3730@atomide.com> (raw)
In-Reply-To: <20170622105753.28708-1-willn@resin.io>
* Will Newton <will.newton@gmail.com> [170622 03:58]:
> Reduce max_segs to 64, a value that allows allocation of an entire
> EDMA descriptor list within a single page - EDMA descriptors
> are 40 bytes and the header is much larger. This avoids doing a
> higher order GFP_ATOMIC allocation in edma_prep_slave_sg
> when setting up a transfer which can potentially fail due to
> fragmentation under heavy I/O load.
>
> The current value of 1024 is unusually high in comparison to
> other mmc host drivers which mostly use values of between 1
> and 256. The EDMA driver at present splits lists above 20
> segments in any case so reducing the size of lists we pass to
> it shouldn't add much overhead.
Thanks for updating the description, makes sense to me. Sounds
like we may want to set the size different for ADMA later on if
needed and there's nothing preventing that, so:
Acked-by: Tony Lindgren <tony@atomide.com>
>
> Signed-off-by: Will Newton <willn@resin.io>
> ---
> drivers/mmc/host/omap_hsmmc.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> Changes in v2:
> - More verbose commit message
> - Rebased onto current master
>
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index 8c39dcc..bbcca93 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -2097,9 +2097,9 @@ static int omap_hsmmc_probe(struct platform_device *pdev)
> host->dbclk = NULL;
> }
>
> - /* Since we do only SG emulation, we can have as many segs
> - * as we want. */
> - mmc->max_segs = 1024;
> + /* Set this to a value that allows allocating an entire descriptor
> + * list within a page (zero order allocation). */
> + mmc->max_segs = 64;
>
> mmc->max_blk_size = 512; /* Block Length at max can be 1024 */
> mmc->max_blk_count = 0xFFFF; /* No. of Blocks is 16 bits */
> --
> 2.9.4
>
next prev parent reply other threads:[~2017-06-26 7:35 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-22 10:57 [PATCH v2] omap_hsmmc: Reduce max_segs for reliability Will Newton
2017-06-26 7:35 ` Tony Lindgren [this message]
2017-07-10 10:00 ` Will Newton
2017-07-11 14:43 ` 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=20170626073508.GS3730@atomide.com \
--to=tony@atomide.com \
--cc=kishon@ti.com \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=rk@ti.com \
--cc=will.newton@gmail.com \
--cc=willn@resin.io \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).