[{"id":1760734,"web_url":"http://patchwork.ozlabs.org/comment/1760734/","msgid":"<20170831082253.GD7897@quack2.suse.cz>","list_archive_url":null,"date":"2017-08-31T08:22:53","subject":"Re: [PATCH v3 3/4] ext2: perform dax_device lookup at mount","submitter":{"id":363,"url":"http://patchwork.ozlabs.org/api/people/363/","name":"Jan Kara","email":"jack@suse.cz"},"content":"On Wed 30-08-17 12:44:03, Dan Williams wrote:\n> The ->iomap_begin() operation is a hot path, so cache the\n> fs_dax_get_by_host() result at mount time to avoid the incurring the\n> hash lookup overhead on a per-i/o basis.\n> \n> Cc: \"Theodore Ts'o\" <tytso@mit.edu>\n> Cc: Andreas Dilger <adilger.kernel@dilger.ca>\n> Cc: Jan Kara <jack@suse.cz>\n> Reported-by: Christoph Hellwig <hch@lst.de>\n> Signed-off-by: Dan Williams <dan.j.williams@intel.com>\n\nLooks good to me (and it looks even cleaner than your previous approach).\nJust one nit below. You can add:\n\nReviewed-by: Jan Kara <jack@suse.cz>\n\n> diff --git a/fs/ext2/super.c b/fs/ext2/super.c\n> index 7b1bc9059863..d9dd999568c2 100644\n> --- a/fs/ext2/super.c\n> +++ b/fs/ext2/super.c\n> @@ -144,6 +144,7 @@ static void ext2_put_super (struct super_block * sb)\n>  \tint db_count;\n>  \tint i;\n>  \tstruct ext2_sb_info *sbi = EXT2_SB(sb);\n> +\tstruct dax_device *dax_dev = sbi->s_daxdev;\n>  \n>  \text2_quota_off_umount(sb);\n>  \n> @@ -172,6 +173,7 @@ static void ext2_put_super (struct super_block * sb)\n>  \tsb->s_fs_info = NULL;\n>  \tkfree(sbi->s_blockgroup_lock);\n>  \tkfree(sbi);\n> +\tfs_put_dax(dax_dev);\n\nThe local variable looks superfluous here. I'd just do\n\tfs_put_dax(sbi->s_daxdev);\n\n\t\t\t\t\t\t\t\tHonza","headers":{"Return-Path":"<linux-ext4-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-ext4-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xjb4D5yK2z9s3w\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 31 Aug 2017 18:23:40 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751760AbdHaIXh (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 31 Aug 2017 04:23:37 -0400","from mx2.suse.de ([195.135.220.15]:56156 \"EHLO mx1.suse.de\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S1751541AbdHaIXf (ORCPT <rfc822;linux-ext4@vger.kernel.org>);\n\tThu, 31 Aug 2017 04:23:35 -0400","from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254])\n\tby mx1.suse.de (Postfix) with ESMTP id 6CDEFAEE2;\n\tThu, 31 Aug 2017 08:22:55 +0000 (UTC)","by quack2.suse.cz (Postfix, from userid 1000)\n\tid B90ED1E340B; Thu, 31 Aug 2017 10:22:53 +0200 (CEST)"],"X-Virus-Scanned":"by amavisd-new at test-mx.suse.de","Date":"Thu, 31 Aug 2017 10:22:53 +0200","From":"Jan Kara <jack@suse.cz>","To":"Dan Williams <dan.j.williams@intel.com>","Cc":"linux-xfs@vger.kernel.org, linux-ext4@vger.kernel.org,\n\tJan Kara <jack@suse.cz>, linux-nvdimm@lists.01.org,\n\tAndreas Dilger <adilger.kernel@dilger.ca>,\n\tTheodore Ts'o <tytso@mit.edu>, Christoph Hellwig <hch@lst.de>","Subject":"Re: [PATCH v3 3/4] ext2: perform dax_device lookup at mount","Message-ID":"<20170831082253.GD7897@quack2.suse.cz>","References":"<150412222686.10177.8031279869867070772.stgit@dwillia2-desk3.amr.corp.intel.com>\n\t<150412224334.10177.12994820445044936627.stgit@dwillia2-desk3.amr.corp.intel.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<150412224334.10177.12994820445044936627.stgit@dwillia2-desk3.amr.corp.intel.com>","User-Agent":"Mutt/1.5.24 (2015-08-30)","Sender":"linux-ext4-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-ext4.vger.kernel.org>","X-Mailing-List":"linux-ext4@vger.kernel.org"}},{"id":1761047,"web_url":"http://patchwork.ozlabs.org/comment/1761047/","msgid":"<CAPcyv4jo=_++oEMnep-H+=fJSKT9PKhJWrqj-3UrDCy5bPjBnA@mail.gmail.com>","list_archive_url":null,"date":"2017-08-31T14:20:55","subject":"Re: [PATCH v3 3/4] ext2: perform dax_device lookup at mount","submitter":{"id":347,"url":"http://patchwork.ozlabs.org/api/people/347/","name":"Dan Williams","email":"dan.j.williams@intel.com"},"content":"On Thu, Aug 31, 2017 at 1:22 AM, Jan Kara <jack@suse.cz> wrote:\n> On Wed 30-08-17 12:44:03, Dan Williams wrote:\n>> The ->iomap_begin() operation is a hot path, so cache the\n>> fs_dax_get_by_host() result at mount time to avoid the incurring the\n>> hash lookup overhead on a per-i/o basis.\n>>\n>> Cc: \"Theodore Ts'o\" <tytso@mit.edu>\n>> Cc: Andreas Dilger <adilger.kernel@dilger.ca>\n>> Cc: Jan Kara <jack@suse.cz>\n>> Reported-by: Christoph Hellwig <hch@lst.de>\n>> Signed-off-by: Dan Williams <dan.j.williams@intel.com>\n>\n> Looks good to me (and it looks even cleaner than your previous approach).\n> Just one nit below. You can add:\n>\n> Reviewed-by: Jan Kara <jack@suse.cz>\n>\n>> diff --git a/fs/ext2/super.c b/fs/ext2/super.c\n>> index 7b1bc9059863..d9dd999568c2 100644\n>> --- a/fs/ext2/super.c\n>> +++ b/fs/ext2/super.c\n>> @@ -144,6 +144,7 @@ static void ext2_put_super (struct super_block * sb)\n>>       int db_count;\n>>       int i;\n>>       struct ext2_sb_info *sbi = EXT2_SB(sb);\n>> +     struct dax_device *dax_dev = sbi->s_daxdev;\n>>\n>>       ext2_quota_off_umount(sb);\n>>\n>> @@ -172,6 +173,7 @@ static void ext2_put_super (struct super_block * sb)\n>>       sb->s_fs_info = NULL;\n>>       kfree(sbi->s_blockgroup_lock);\n>>       kfree(sbi);\n>> +     fs_put_dax(dax_dev);\n>\n> The local variable looks superfluous here. I'd just do\n>         fs_put_dax(sbi->s_daxdev);\n\nOk... and move that before the kfree(sbi).","headers":{"Return-Path":"<linux-ext4-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-ext4-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=intel-com.20150623.gappssmtp.com\n\theader.i=@intel-com.20150623.gappssmtp.com\n\theader.b=\"hcoEl5jD\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xjl0W2hRsz9s83\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri,  1 Sep 2017 00:20:59 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751412AbdHaOU6 (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 31 Aug 2017 10:20:58 -0400","from mail-oi0-f44.google.com ([209.85.218.44]:36070 \"EHLO\n\tmail-oi0-f44.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751463AbdHaOU4 (ORCPT\n\t<rfc822; linux-ext4@vger.kernel.org>); Thu, 31 Aug 2017 10:20:56 -0400","by mail-oi0-f44.google.com with SMTP id t75so6635147oie.3\n\tfor <linux-ext4@vger.kernel.org>;\n\tThu, 31 Aug 2017 07:20:56 -0700 (PDT)","by 10.157.35.33 with HTTP; Thu, 31 Aug 2017 07:20:55 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=intel-com.20150623.gappssmtp.com; s=20150623;\n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc; bh=Ou3dNaOAljWesPkkJ9hpiasG9c8ItMABEfwkurYMxeU=;\n\tb=hcoEl5jDMaNJ121wiYDy4xJHo9c0TU8Xqv7CBJpSD9Ng83OmLcW/vz+0Wa8SxDquVl\n\tiETCUxvxEh6FoXBIftRSX2lcYTxRo6vpw6HSCk4G7MIyM2JfxYEWo7cl8z97mzPvpHmT\n\twSCsKH1j764i//wYKKrYO6PaA77+JePhGbE2rCRPA/2PjJ6ljQNf8tkXQ/+aTL7VYyQO\n\tXJSlZCwzMaOqE44ZJ7v3k0uDpdu3DMghlGu4TmHd6IE3bKawlV00OlIQdXXzNauZrA9f\n\tAYPgr7mN+Mjp88K/YAY0t+Z90QZwYsLUFSz0WkyNvzeuOP6b6Y3+E6sM7aomvEUEpfSJ\n\tfDUw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=Ou3dNaOAljWesPkkJ9hpiasG9c8ItMABEfwkurYMxeU=;\n\tb=a1y6gZG5UlU/v41qxqvg3eP2Mnhf5NVEKRG+jvjyUSjdEbB4CbYwho/HEvhJ+o320I\n\tXNLqbS3YOxAg5lGIRHWOX7Yj0pglCEZS9qXVsA3X8loWJBUknKog4mWAv0aTwc3fa2c7\n\txrWRfA1DqxY1zEAi/7iaFfiLYWgwSbAMJFhMv5AEixYM6+0kpvbo/xi+y04M0XIpGCct\n\tsJOG8cFrCk6+74fezUVbDbCJMQbjXFnfLArILmFGfz/8BCZPHvK3HZEYpApw+VuKLcgb\n\ti/LzKO/6gtl3fchel076f1kBV1H2RB3mV0PJxOk0MhKVXGYekhgIfjrw9I58Qqf1F93Y\n\t8VHg==","X-Gm-Message-State":"AHYfb5gauQLlBuqS8EzFagoWaw8diK/2uFjD6YCwZT9hIhuzdmoaXI/p\n\tvyA2Zc++ukX1UuSLLKKWlK10i4iyO5J2","X-Google-Smtp-Source":"ADKCNb6V9imPv/5OY3Brt9US1T4z3rLdKE9Ny5b93ml7SQ+hhS94VZaoRhpvhDFzCOv3S5GhGLx17rOWYusVAnInBj4=","X-Received":"by 10.202.102.88 with SMTP id a85mr5070443oic.309.1504189256097; \n\tThu, 31 Aug 2017 07:20:56 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<20170831082253.GD7897@quack2.suse.cz>","References":"<150412222686.10177.8031279869867070772.stgit@dwillia2-desk3.amr.corp.intel.com>\n\t<150412224334.10177.12994820445044936627.stgit@dwillia2-desk3.amr.corp.intel.com>\n\t<20170831082253.GD7897@quack2.suse.cz>","From":"Dan Williams <dan.j.williams@intel.com>","Date":"Thu, 31 Aug 2017 07:20:55 -0700","Message-ID":"<CAPcyv4jo=_++oEMnep-H+=fJSKT9PKhJWrqj-3UrDCy5bPjBnA@mail.gmail.com>","Subject":"Re: [PATCH v3 3/4] ext2: perform dax_device lookup at mount","To":"Jan Kara <jack@suse.cz>","Cc":"linux-xfs@vger.kernel.org, linux-ext4 <linux-ext4@vger.kernel.org>,\n\t\"linux-nvdimm@lists.01.org\" <linux-nvdimm@lists.01.org>,\n\tAndreas Dilger <adilger.kernel@dilger.ca>,\n\t\"Theodore Ts'o\" <tytso@mit.edu>, Christoph Hellwig <hch@lst.de>","Content-Type":"text/plain; charset=\"UTF-8\"","Sender":"linux-ext4-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-ext4.vger.kernel.org>","X-Mailing-List":"linux-ext4@vger.kernel.org"}}]