From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DE8E5C433E0 for ; Wed, 10 Feb 2021 20:56:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A776864DE7 for ; Wed, 10 Feb 2021 20:56:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232563AbhBJU4x convert rfc822-to-8bit (ORCPT ); Wed, 10 Feb 2021 15:56:53 -0500 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:32771 "EHLO relay9-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233187AbhBJU4k (ORCPT ); Wed, 10 Feb 2021 15:56:40 -0500 X-Originating-IP: 90.2.4.167 Received: from xps13 (aputeaux-654-1-105-167.w90-2.abo.wanadoo.fr [90.2.4.167]) (Authenticated sender: miquel.raynal@bootlin.com) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 1883CFF803; Wed, 10 Feb 2021 20:55:49 +0000 (UTC) Date: Wed, 10 Feb 2021 21:55:48 +0100 From: Miquel Raynal To: Richard Weinberger Cc: Miklos Szeredi , Vignesh Raghavendra , Boris Brezillon , Ron Minnich , sven , linux-kernel , linux-mtd , fuse-devel Subject: Re: [PATCH 0/8] MUSE: Userspace backed MTD v3 Message-ID: <20210210215548.40ce9ba5@xps13> In-Reply-To: <1183985773.380599.1612956233979.JavaMail.zimbra@nod.at> References: <20210124232007.21639-1-richard@nod.at> <1507208626.379155.1612906761549.JavaMail.zimbra@nod.at> <20210210121429.4fb5ecf3@xps13> <1183985773.380599.1612956233979.JavaMail.zimbra@nod.at> Organization: Bootlin X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Richard, Richard Weinberger wrote on Wed, 10 Feb 2021 12:23:53 +0100 (CET): > Miquel, > > ----- Ursprüngliche Mail ----- > >> Does in-band and OOB data need to be handled together? > > > > Short answer: yes. > > > >> If so, then two requests is not a good option. > > > > More detailed answer: > > > > There is a type of MTD device (NAND devices) which are composed, for > > each page, of X in-band bytes plus Y out-of-band metadata bytes. > > > > Accessing either the in-band data, or the out-of-band data, or both at > > the same time are all valid use cases. > > > > * Read operation details: > > From a hardware point of view, the out-of-band data is (almost) > > always retrieved when the in-band data is read because it contains > > meta-data used to correct eventual bitflips. In this case, if both > > areas are requested, it is highly non-efficient to do two requests, > > that's why the MTD core allows to do both at the same time. > > * Write operation details: > > Even worse, in the write case, you *must* write both at the same > > time. It is physically impossible to do one after the other (still > > with actual hardware, of course). > > > > That is why it is preferable that MUSE will be able to access both in > > a single request. > > By single request we meant FUSE op-codes. The NAND simulator in Userspace > will see just one call. My plan is to abstract it in libfuse. If libfuse abstracts it, as long as MTD only sees a single request I'm fine :) Thanks, Miquèl