From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756528AbcEEJVf (ORCPT ); Thu, 5 May 2016 05:21:35 -0400 Received: from mail-wm0-f50.google.com ([74.125.82.50]:36417 "EHLO mail-wm0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755977AbcEEJVd (ORCPT ); Thu, 5 May 2016 05:21:33 -0400 Subject: Re: [PATCH 1/4] lightnvm: add sync and close block I/O types To: =?UTF-8?Q?Javier_Gonz=c3=a1lez?= References: <1462375892-26533-1-git-send-email-javier@cnexlabs.com> Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, =?UTF-8?Q?Javier_Gonz=c3=a1lez?= From: =?UTF-8?Q?Matias_Bj=c3=b8rling?= Message-ID: <572B1099.6010204@lightnvm.io> Date: Thu, 5 May 2016 11:21:29 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <1462375892-26533-1-git-send-email-javier@cnexlabs.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/04/2016 05:31 PM, Javier González wrote: > Within a target, I/O requests stem from different paths, which might vary > in terms of the data structures being allocated, context, etc. This > might impact how the request is treated, or how memory is freed once > the bio is completed. > > Add two different types of I/Os: (i) NVM_IOTYPE_SYNC, which indicates > that the I/O is synchronous; and (ii) NVM_IOTYPE_CLOSE_BLK, which > indicates that the I/O closes the block to which all the ppas on the > request belong to. > > Signed-off-by: Javier González > --- > include/linux/lightnvm.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/linux/lightnvm.h b/include/linux/lightnvm.h > index 29a6890..6c02209 100644 > --- a/include/linux/lightnvm.h > +++ b/include/linux/lightnvm.h > @@ -11,6 +11,8 @@ enum { > > NVM_IOTYPE_NONE = 0, > NVM_IOTYPE_GC = 1, > + NVM_IOTYPE_SYNC = 2, > + NVM_IOTYPE_CLOSE_BLK = 4, > }; > > #define NVM_BLK_BITS (16) > The sync should not be necessary when the read path is implemented using bio_clone. Similarly for NVM_IOTYPE_CLOSE_BLK. The write completion can be handled in the bio completion path.