From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from newverein.lst.de (verein.lst.de [213.95.11.211]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 81CDE21CFA60C for ; Thu, 24 Aug 2017 06:42:29 -0700 (PDT) Date: Thu, 24 Aug 2017 15:45:00 +0200 From: Christoph Hellwig Subject: fs_dax_get_by_host in the hot path Message-ID: <20170824134500.GA25037@lst.de> MIME-Version: 1.0 Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" To: Dan Williams Cc: linux-fsdevel@vger.kernel.org, linux-nvdimm@lists.01.org List-ID: Hi Dan, I just noticed that we now do a fs_dax_get_by_host in every iomap_begin call for DAX. This function iterates a list, does a string compared and igrab. I really think we need to cache this in the superblock (possible even the fs superblock) similar to what we do for the block device. _______________________________________________ Linux-nvdimm mailing list Linux-nvdimm@lists.01.org https://lists.01.org/mailman/listinfo/linux-nvdimm From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from verein.lst.de ([213.95.11.211]:49831 "EHLO newverein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752759AbdHXNpC (ORCPT ); Thu, 24 Aug 2017 09:45:02 -0400 Date: Thu, 24 Aug 2017 15:45:00 +0200 From: Christoph Hellwig To: Dan Williams Cc: linux-nvdimm@lists.01.org, linux-fsdevel@vger.kernel.org Subject: fs_dax_get_by_host in the hot path Message-ID: <20170824134500.GA25037@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Hi Dan, I just noticed that we now do a fs_dax_get_by_host in every iomap_begin call for DAX. This function iterates a list, does a string compared and igrab. I really think we need to cache this in the superblock (possible even the fs superblock) similar to what we do for the block device.