linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Boris Brezillon <boris.brezillon@bootlin.com>
To: Sam Lefebvre <sam.lefebvre@essensium.com>
Cc: linux-mtd@lists.infradead.org,
	Arnout Vandecapelle <arnout@mind.be>,
	Dries Staelens <dries.staelens@barco.com>,
	Richard Weinberger <richard@nod.at>, Han Xu <han.xu@nxp.com>
Subject: Re: optimizing the nand read performance by reducing interrupts from 4 to 1
Date: Thu, 26 Apr 2018 18:28:43 +0200	[thread overview]
Message-ID: <20180426182843.02f60425@bbrezillon> (raw)
In-Reply-To: <20180426154134.8270-1-sam.lefebvre@essensium.com>

Hi Sam,

On Thu, 26 Apr 2018 17:41:21 +0200
Sam Lefebvre <sam.lefebvre@essensium.com> wrote:

> The current implementation for gmpi nand flashes use existing libraries for composing                    
> dma command chains in different pieces with mutliple interrupts. This invokes a lot of                   
> unnecessary context switches. In order to make more optimal use of dma chaining capabilities
> of the gpmi hardware, some rework must be performed to allow gpmi_ecc_read_page() 
> and gpmi_ecc_read_subpage() submitting a range of dma's to reduce the interrupts from 
> 4 to 1 for every page read.
> 
> In the current situation, a page read for large page incurs 4 interrupts:
> - DMA for READ0
> - DMA for READSTART
> - DMA for reading of page data
> - BCH
>                                                                                                          
> This series is based on a previous post and contains some optimizations in the commits.
> The changes in nand_command() and nand_command_lp() are omitted and commits are re-ordered
> in such way that the changes for reducing the interrupts are moved to the end.
> 
> In order to do the preparation of this work, ready/busy signalling is aggregated and
> error handling in gpmi_ecc_read_oob() has been reviewed.            
> 
> Some changes by Sasha Hauer are also adopted which contain some bugfixes and preliminary
> cleanup of several parts in de code.

Are there any changes in this version? I don't see a changelog and the
version number has not been incremented.

> 
> Sam lefebvre 
> 
> ----------------------------------------------------------------
> Arnout Vandecappelle (Essensium/Mind) (2):
>       mtd: rawnand: gpmi: instantiate cmdfunc

Also, I nacked this patch in my previous review, so I'm not going to
accept it now, unless you have strong arguments to convince me.

One last thing, can you Cc the relevant maintainers next time (you can
use scripts/get_maintainers.pl to get the list).

Regards,

Boris

  parent reply	other threads:[~2018-04-26 16:29 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-26 15:41 optimizing the nand read performance by reducing interrupts from 4 to 1 Sam Lefebvre
2018-04-26 15:41 ` [PATCH 01/13] mtd: nand: gpmi: drop dma_ops_type Sam Lefebvre
2018-04-26 15:41 ` [PATCH 02/13] mtd: nand: gpmi: pass buffer and len around Sam Lefebvre
2018-04-26 15:41 ` [PATCH 03/13] mtd: nand: gpmi: put only once used functions inline Sam Lefebvre
2018-04-26 15:41 ` [PATCH 04/13] mtd: nand: gpmi: remove direct_dma_map_ok from driver data struct Sam Lefebvre
2018-04-26 15:41 ` [PATCH 05/13] mtd: nand: gpmi: return valid value from bch_set_geometry() Sam Lefebvre
2018-04-26 15:41 ` [PATCH 06/13] mtd: nand: gpmi: remove unnecessary variables Sam Lefebvre
2018-04-26 15:41 ` [PATCH 07/13] mtd: rawnand: gpmi: set aggregate ready/busy signalling Sam Lefebvre
2018-06-18 15:00   ` Miquel Raynal
2018-04-26 15:41 ` [PATCH 08/13] mtd: rawnand: gpmi: return generated errors in gpmi_ecc_read_oob() Sam Lefebvre
2018-04-26 16:43   ` Boris Brezillon
2018-04-26 15:41 ` [PATCH 09/13] mtd: rawnand: gpmi: poll the BCH interrupt bit in start_dma_with_bch_irq() Sam Lefebvre
2018-04-26 16:49   ` Boris Brezillon
2018-04-26 15:41 ` [PATCH 10/13] mtd: rawnand: gpmi: instantiate cmdfunc Sam Lefebvre
2018-04-26 15:41 ` [PATCH 11/13] mtd: rawnand: gpmi: gpmi_nand_command(): simplification and formatting Sam Lefebvre
2018-04-26 15:41 ` [PATCH 12/13] mtd: rawnand: gpmi: issue two commands in a single DMA chain Sam Lefebvre
2018-04-26 15:41 ` [PATCH 13/13] mtd: rawnand: gmpi: chain gpmi_nand_command() with gpmi_ecc_read_page_data() Sam Lefebvre
2018-04-26 21:46   ` Boris Brezillon
2018-04-26 16:28 ` Boris Brezillon [this message]
2018-04-27 10:27   ` optimizing the nand read performance by reducing interrupts from 4 to 1 Sam Lefebvre
2018-04-27 12:09     ` Boris Brezillon
2018-04-26 20:07 ` Boris Brezillon

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=20180426182843.02f60425@bbrezillon \
    --to=boris.brezillon@bootlin.com \
    --cc=arnout@mind.be \
    --cc=dries.staelens@barco.com \
    --cc=han.xu@nxp.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=richard@nod.at \
    --cc=sam.lefebvre@essensium.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 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).