Received: by 10.223.185.116 with SMTP id b49csp859470wrg; Wed, 21 Feb 2018 08:04:32 -0800 (PST) X-Google-Smtp-Source: AH8x226Dxh7KGMYDb360YSJ6Fv8oqPbYRD+2G/8OwFNLJWECAZMTAJCeUQmzcgkCx9ebEG3pzrkc X-Received: by 2002:a17:902:5481:: with SMTP id e1-v6mr3576778pli.300.1519229072030; Wed, 21 Feb 2018 08:04:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519229071; cv=none; d=google.com; s=arc-20160816; b=da/s/nqb8VZbL/XxAHVy0WtSeQwdM89xg7J5gIkXbOXm2UtArxb+NSlVAGdNk+DTMX FMUyhOP7i9xIXkvVo8TU37ocjJGp8F8zNcGoPXE5HCdjDjGox84j+VuzidgZT0YPK8QI B5eBhKn+Ygwjju0Q2b9iw9r/xfoaVFMdBm9eoWSnSsxP/9q/0b7Ef1aODIo+PDNrKXxU LrqiFBlcFd+AjWd2yUI3yIiPamHF+qnnl9zYnriit7kXzHy90BPsc5GINEDZhd3LpLcJ iI3EiIwhr0EUSiVhM8r23pvF+PneHEdxtmPEnOP6Z2DV4lqZEro6jvA+Gs8vDTE+U5Ei /7bQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=R7hq8P5CA99UiK8VVRxisjR0cSqdlYtW+LUrlEJoYyg=; b=EH19c34+cP6Zm2u67dJWAQp4YxfsfshYk9sga0G2b7p3BFumsdVe4DmNcPatpDzS1J OX1sWUu/spSDUiRd+NIYTWxenmEx/IWZJqvL4H0S0Xh7f3TQGpheF46xdtiNcjgriUJu 42G6I+F+NpbEg4Ys7cScYk6HAidKoQIM32Gz6Hp7/SoCIZbrlNys3QoMBfDVKABMKI/0 rzcUagBCsqEn2/B4DOfhSoSNbndEJWA/7d+sSNgnNXcRtV7XwGk8wWX33hrok7fKyROZ OvBdY+F8jp2lXeUjWewoQxMFZN9gs3dqWp8+7htsXYunKjk45+I9C9R7ARaVZpZuxKBz +wUw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lightnvm-io.20150623.gappssmtp.com header.s=20150623 header.b=QFyE4MrK; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d2-v6si1405984plr.67.2018.02.21.08.04.15; Wed, 21 Feb 2018 08:04:31 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@lightnvm-io.20150623.gappssmtp.com header.s=20150623 header.b=QFyE4MrK; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753276AbeBUJ1N (ORCPT + 99 others); Wed, 21 Feb 2018 04:27:13 -0500 Received: from mail-wr0-f194.google.com ([209.85.128.194]:45905 "EHLO mail-wr0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753121AbeBUJ1L (ORCPT ); Wed, 21 Feb 2018 04:27:11 -0500 Received: by mail-wr0-f194.google.com with SMTP id p104so2415144wrc.12 for ; Wed, 21 Feb 2018 01:27:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lightnvm-io.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=R7hq8P5CA99UiK8VVRxisjR0cSqdlYtW+LUrlEJoYyg=; b=QFyE4MrKqbp/+Cg7535B4s8iwQZ3dp27Cui5tPGzGVKNW1zsfjeDCwmV7Cui9H1mnL r7FweN3ASLHH0Qz5PnYQKGii1GTqj86D0Pkrwdf88xACEqbjegQr5jvkbT0VrJEZ7dS3 H8N+y43MD2cA2xBwhfQtodY9cxkjvC2HtEX1ap49ADCZHdU9CJKgXtbIs0zv4N/IHa/w uTaM8cmF8H6mFopGg9YzxkmVDt5Rca8k7E+J9UD5ufVCAWKGtn86KmeNkicAekJzmYlO fwzVg4tw8LLoI2sAhu6LAoPg0Kmxoz+2WG6jegWBRyHUgZyr1o8hepWNzOIZ64xiHuTO hkgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=R7hq8P5CA99UiK8VVRxisjR0cSqdlYtW+LUrlEJoYyg=; b=ICEvXEdawfEn7StCYGEvo/N2ss+yebY9TG2KPV2erOO4ebApC/slOnLj/43k4v0WvN bc/FCUZAYAIKpWrIShamR7p7jfY4qqjCntT9NLUWGPXPXuo8pviJCNS9Vq2gYYDzTMV+ euzTLsD4AOD9EVd653tTjI0WYRa7t2a/CQED04M0fC9wYPGYckAzWxi9lDwrTzSW/E5x G58BgTONiOw8CiM5N2cthlLF+NSZIvvYdYIGvQuGs73rpxmD9zIK3bwn0hpetkVK63Ll woPRY9hMXC0HvZa8SL0qaHX63vEBVlggBGgRA+ajXRVfakM7nqWPAW8xlgxFI6IqmWdW K7Lw== X-Gm-Message-State: APf1xPBVpltS1x0oM8HHED6SBNndYjpNZIQ+Pzq4acv3Hp8QphbyfqWE y7WaS4R1MrLN4ngvXh967/xEbPLw X-Received: by 10.80.202.75 with SMTP id e11mr4004272edi.32.1519205229847; Wed, 21 Feb 2018 01:27:09 -0800 (PST) Received: from uHalley.cnexlabs.com (6164211-cl69.boa.fiberby.dk. [193.106.164.211]) by smtp.gmail.com with ESMTPSA id a17sm3389955eda.42.2018.02.21.01.27.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 21 Feb 2018 01:27:09 -0800 (PST) From: "=?UTF-8?q?Javier=20Gonz=C3=A1lez?=" X-Google-Original-From: =?UTF-8?q?Javier=20Gonz=C3=A1lez?= To: mb@lightnvm.io Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org, =?UTF-8?q?Javier=20Gonz=C3=A1lez?= Subject: [PATCH V2 00/20] lightnvm: pblk: implement 2.0 support Date: Wed, 21 Feb 2018 10:26:38 +0100 Message-Id: <1519205218-26994-1-git-send-email-javier@cnexlabs.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Changes since V1: Apply Matias' feedback: - Rebase on top of Matias' latest patches. - Use nvme_get_log_ext to submit report chunk and export it. - Re-write report chunk based on Matias' suggestions. Here, I maintained the lba interface, but it was necessary to redo the address formatting to match the chunk log page format. For pblk, this means a double address transformation, but it enables the standard path to use lbas, plus, this is not in the fast path. - Fold address format together with address transformations. - Split the generic geometry patch in different patches. - Remove refactoring of ligthnvm's core sysfs. Feedback not applied: - Not letting pblk know about 1.2 and 2.0 bad block paths. Since the interfaces for get/set bad block and report chunk are so different, moving this logic to core adds assumptions on how the targets would want to get the data back. A way of doing this is creating a logical report chunk on the 1.2 path, but this would mean that values like the wear-index are invalid, which requires the target knowledge. I'm open to suggestions here. Also: - Do some further renamings - Create a generic address format to make it explicit where we share 1.2 and 2.0 fields to avoid address formatting in the fast path. - Add new fields to sysfs to complete spec and show major/minor versions (version and subversion to respect current interface). Implement 2.0 support in pblk. This includes the address formatting and mapping paths, as well as the sysfs entries for them. Javier Javier González (20): lightnvm: simplify geometry structure. lightnvm: add controller capabilities to 2.0 lightnvm: fix capabilities for 2.0 sysfs lightnvm: add minor version to generic geometry lightnvm: rename number of channels and luns lightnvm: add shorten OCSSD version in geo lightnvm: rename sect_* to sec_* lightnvm: complete geo structure with maxoc* lightnvm: use generic identify structure lightnvm: pblk: rename ppaf* to addrf* lightnvm: pblk: check for supported version lightnvm: complete 2.0 values in sysfs lightnvm: add support for 2.0 address format lightnvm: make address conversions depend on generic device nvme: make nvme_get_log_ext available lightnvm: implement get log report chunk helpers lightnvm: define chunk states lightnvm: pblk: implement get log report chunk lightnvm: pblk: refactor init/exit sequences lightnvm: pblk: implement 2.0 support drivers/lightnvm/core.c | 205 +++++----- drivers/lightnvm/pblk-core.c | 141 +++++-- drivers/lightnvm/pblk-gc.c | 2 +- drivers/lightnvm/pblk-init.c | 787 +++++++++++++++++++++++---------------- drivers/lightnvm/pblk-read.c | 2 +- drivers/lightnvm/pblk-recovery.c | 14 +- drivers/lightnvm/pblk-rl.c | 2 +- drivers/lightnvm/pblk-sysfs.c | 130 ++++++- drivers/lightnvm/pblk-write.c | 2 +- drivers/lightnvm/pblk.h | 253 +++++++++---- drivers/nvme/host/lightnvm.c | 480 ++++++++++++++++-------- drivers/nvme/host/nvme.h | 3 + include/linux/lightnvm.h | 338 +++++++++++------ 13 files changed, 1546 insertions(+), 813 deletions(-) -- 2.7.4