From patchwork Mon Dec 10 12:50:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kanchan Joshi X-Patchwork-Id: 1010401 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-ext4-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=samsung.com header.i=@samsung.com header.b="LPQr1hAR"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43D2zn3Bw0z9s3C for ; Mon, 10 Dec 2018 23:52:53 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727174AbeLJMwv (ORCPT ); Mon, 10 Dec 2018 07:52:51 -0500 Received: from mailout4.samsung.com ([203.254.224.34]:23530 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727080AbeLJMwt (ORCPT ); Mon, 10 Dec 2018 07:52:49 -0500 Received: from epcas2p1.samsung.com (unknown [182.195.41.53]) by mailout4.samsung.com (KnoxPortal) with ESMTP id 20181210125246epoutp04edd70a83caf92a3c4c18a115a7a5e19a~u_cmkPVas2224122241epoutp04Z; Mon, 10 Dec 2018 12:52:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout4.samsung.com 20181210125246epoutp04edd70a83caf92a3c4c18a115a7a5e19a~u_cmkPVas2224122241epoutp04Z DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1544446366; bh=cQGp4E4sLJLwF+bgYB5B8raAKU9WmsTxeWm9giAVRCk=; h=From:To:Cc:Subject:Date:References:From; b=LPQr1hARda44I2nsUuqdZrs6t41aV/1MxOiJjUncriP6Bs/cOaXWzqGdnb+M+vYlI 2f/qWeEAwd4emhz47O8e6OdbLrRoQVA5XWFbEmQ8x2oYqD5WMBV+0VpHlcK4kfhGLB WNPXw7PnW1S/E8RTNPjPbzkVzbyrR5njU98v9FRg= Received: from epsmges2p2.samsung.com (unknown [182.195.42.70]) by epcas2p1.samsung.com (KnoxPortal) with ESMTP id 20181210125245epcas2p15d32ff9e0172596f3d4a820444e0395e~u_clq6zz91864018640epcas2p1g; Mon, 10 Dec 2018 12:52:45 +0000 (GMT) Received: from epcas2p4.samsung.com ( [182.195.41.56]) by epsmges2p2.samsung.com (Symantec Messaging Gateway) with SMTP id 55.5A.04060.D916E0C5; Mon, 10 Dec 2018 21:52:45 +0900 (KST) Received: from epsmgms2p2new.samsung.com (unknown [182.195.42.143]) by epcas2p2.samsung.com (KnoxPortal) with ESMTP id 20181210125245epcas2p202bc4336e91a55cee3786ed6abffea05~u_clL3BQl1742917429epcas2p2H; Mon, 10 Dec 2018 12:52:45 +0000 (GMT) X-AuditID: b6c32a46-b2dff70000000fdc-40-5c0e619d2cf7 Received: from epmmp1.local.host ( [203.254.227.16]) by epsmgms2p2new.samsung.com (Symantec Messaging Gateway) with SMTP id A3.13.03627.C916E0C5; Mon, 10 Dec 2018 21:52:45 +0900 (KST) Received: from test-PowerEdge-R720.sa.corp.samsungelectronics.net ([107.108.221.212]) by mmp1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0PJI00DVHUFKZF90@mmp1.samsung.com>; Mon, 10 Dec 2018 21:52:44 +0900 (KST) From: Kanchan Joshi To: linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org Cc: tytso@mit.edu, adilger.kernel@dilger.ca, jack@suse.com, viro@zeniv.linux.org.uk, darrick.wong@oracle.com, axboe@kernel.dk, jrdr.linux@gmail.com, ebiggers@google.com, jooyoung.hwang@samsung.com, chur.lee@samsung.com, prakash.v@samsung.com, Kanchan Joshi Subject: [PATCH 0/2] fs,ext4,jbd2: Specifying write-hint for Ext4 journal Date: Mon, 10 Dec 2018 18:20:02 +0530 Message-id: <1544446204-5291-1-git-send-email-joshi.k@samsung.com> X-Mailer: git-send-email 2.7.4 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrEIsWRmVeSWpSXmKPExsWy7bCmhe7cRL4Yg9bZqhZfv3SwWKy+289m 8fH5QzaLu++3s1pcXN3CavF8+WJGi8YvCxktjv5/y2Zx7WoDs8XMeXfYLPbsPclicWXKImaL 1p6f7Bbn/x5ndeDzaNlc7rFz1l12jwWbSj0uny31aDpzlNnj49NbLB59W1YxeqzfcpXF4/Mm OY9NT94yBXBFcdmkpOZklqUW6dslcGWcvXqXveA1d0Xj+owGxkUcXYycHBICJhLPlnSzdDFy cQgJ7GCUWD+jjRHC+c4o0bzmBVCGA6xq3aUAiPhuRomTnx9BdUxnkug+e5EZpIhNQFPiwuRS kKkiArYSTzZ8YwWpYRaYxyRx/uNRJpCEsICnxP3WU2A2i4CqxJP5d9lBbF4BJ4nmNwtYIE6S k7h5rpMZwj7BJvHykTSE7SKxbuJuNghbWOLV8S3sELa0xLNVGxkh7GKJX3eOMoMslhDoYJS4 3jATaqi9xMU9f8EWMwvwSXQc/ssO8RmvREebEESJh8TzJbfB9goJxEoseLaScQKjxAJGhlWM YqkFxbnpqcVGBUZ6xYm5xaV56XrJ+bmbGMExreW2g3HJOZ9DjAIcjEo8vAFNvDFCrIllxZW5 hxglOJiVRHh104BCvCmJlVWpRfnxRaU5qcWHGKU5WJTEeR9Kz40WEkhPLEnNTk0tSC2CyTJx cEo1MIpr+ZirXzp8cMm72ac0opZEMG6s2Plox6QtHtNv3JXUi1mxptScPep8apxCSMt9folk p07eU7lWDY6H7q+a3nvuXt65xlSFA8Wr1isLi25W9Xq+O2NR7xyBiP9Fl39+4JJk0snYrau5 2TpKoPaeNZ/McY9vTvz6jo+TTyQ89OHevWml5CGhw0osxRmJhlrMRcWJAAXV+y7lAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrFLMWRmVeSWpSXmKPExsVy+t9jAd25iXwxBu/+sVl8/dLBYrH6bj+b xcfnD9ks7r7fzmpxcXULq8Xz5YsZLRq/LGS0OPr/LZvFtasNzBYz591hs9iz9ySLxZUpi5gt Wnt+sluc/3uc1YHPo2VzucfOWXfZPRZsKvW4fLbUo+nMUWaPj09vsXj0bVnF6LF+y1UWj8+b 5Dw2PXnLFMAVxWWTkpqTWZZapG+XwJVx9upd9oLX3BWN6zMaGBdxdDFycEgImEisuxTQxcjF ISSwk1HiY+s2li5GTiBnJpPEqt+uIDVsApoSFyaXgoRFBGwlnmz4xgpSzywwj0ni2N1F7CAJ YQFPifutp5hAbBYBVYkn8++CxXkFnCSa3ywAmykhICdx81wn8wRGrgWMDKsYJVMLinPTc4uN CozyUsv1ihNzi0vz0vWS83M3MQJDcNthrf4djI+XxB9iFOBgVOLhDWjijRFiTSwrrsw9xCjB wawkwqubBhTiTUmsrEotyo8vKs1JLT7EKM3BoiTOy59/LFJIID2xJDU7NbUgtQgmy8TBKdXA aPl2wZ01nLsXPmjq8OA5922S4UZWgVaJkud8kx59bNXy8P3rLv4mVeqSqY/o8dM+fx0+rjk9 YceGE8uiyusZt657vmFtLueWw0oTZ59YtXbV9CM1EwVnPDWs9jusatD0b+6Lh6mmfCGSV75M zVTJTl9xzFfthVTftE91eWeqpObIBVvZTLhp/EKJpTgj0VCLuag4EQDR/mGcPQIAAA== X-CMS-MailID: 20181210125245epcas2p202bc4336e91a55cee3786ed6abffea05 X-Msg-Generator: CA CMS-TYPE: 102P X-CMS-RootMailID: 20181210125245epcas2p202bc4336e91a55cee3786ed6abffea05 References: Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org For NAND-based SSDs, mixing of data with different life-time reduces efficiency of garbage-collection. During FS operations, series of journal updates will follow/precede series of data/meta updates, causing intermixing inside SSD. By passing a write-hint (a.k.a stream) with journal, its writes can be isolated from other meta/data writes, leading to performance/endurance benefit on multi-stream SSD. This is described in greater detail (along with results) in this "FAST 2018" paper - https://www.usenix.org/system/files/conference/fast18/fast18-rho.pdf This patch is split into two parts. First patch introduces APIs to send write-hint with buffer-head. Second one implement "journal_writehint" mount option (inspired from "journal_ioprio") in Ext4/JBD2. Kanchan Joshi (2): fs: introduce APIs to enable sending write-hint with buffer-head fs/ext4,jbd2: Add support for passing write-hint with journal. fs/buffer.c | 21 +++++++++++++++++++++ fs/ext4/super.c | 33 +++++++++++++++++++++++++++------ fs/jbd2/commit.c | 11 +++++++---- fs/jbd2/journal.c | 2 +- fs/jbd2/revoke.c | 2 +- include/linux/buffer_head.h | 3 +++ include/linux/jbd2.h | 7 +++++++ 7 files changed, 67 insertions(+), 12 deletions(-)