From owner-freebsd-fs@FreeBSD.ORG Mon Jun 25 10:31:23 2012 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A0A361065687 for ; Mon, 25 Jun 2012 10:31:23 +0000 (UTC) (envelope-from c.kworr@gmail.com) Received: from mail-bk0-f54.google.com (mail-bk0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id 25CB68FC14 for ; Mon, 25 Jun 2012 10:31:22 +0000 (UTC) Received: by bkvi18 with SMTP id i18so3737526bkv.13 for ; Mon, 25 Jun 2012 03:31:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=XDJi8GKzrBXfLKq87p7vAt4euXt1O96YS8V9IOd5bG0=; b=iAoVPx2KvV0Nm854DOl4b7xOWMa571Xdv4SGdwql+YI5NGa9DkeJGiwqfrz3GA0lRM I90XR+86cAnzwfg+Bj++BgGiixIZBg4znqu6/LUVSDin86QO5IsjjyOVqO5ApfPmVfNq NP+zp+6V/ntqL6UwcSytA/cn2pS1LxgS8xYX8DHHbSnonfyLG8DTG8E+fn7FjDo234wG T1cd4jP3LXeb8kTW+lCSMUjA36EXx9po930DQq/7AL09npPTsuydgNl1iSCZaK740807 RPguOCUZIuV5qLgrZTmj6p7tIqGmZwXehH0dtEnv3CC5ozG9gAAYb0pyUNSVGr/tbSPC fUKg== Received: by 10.204.157.23 with SMTP id z23mr3906559bkw.71.1340619890023; Mon, 25 Jun 2012 03:24:50 -0700 (PDT) Received: from green.tandem.local (utwig.xim.bz. [91.216.237.46]) by mx.google.com with ESMTPS id iq16sm45863547bkc.6.2012.06.25.03.24.47 (version=SSLv3 cipher=OTHER); Mon, 25 Jun 2012 03:24:48 -0700 (PDT) Message-ID: <4FE83C6E.2030600@gmail.com> Date: Mon, 25 Jun 2012 13:24:46 +0300 From: Volodymyr Kostyrko User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:12.0) Gecko/20120605 Firefox/12.0 SeaMonkey/2.9.1 MIME-Version: 1.0 To: Gleb Kurtsou References: <20120621140149.GA59722@reks> In-Reply-To: <20120621140149.GA59722@reks> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-fs@freebsd.org Subject: Re: [RFC] tmpfs RB-Tree for directory entries X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Jun 2012 10:31:23 -0000 Gleb Kurtsou wrote: > Here is patch for CURRENT replacing directory entry linked list with > RB-Tree in tmpfs. Performance improvement varies for different > workloads, it may be negligible for directories with small number of > files or due to VFS name caching. > > http://people.freebsd.org/~gleb/tmpfs-nrbtree.1.patch > > This patch is unrelated to similar changes recently committed to > DragonFly: > https://bugs.dragonflybsd.org/issues/2375 > http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/29ca4fd6da8bb70ae90d8e73ea3c47fda22491a7 > > My patch uses name hashes instead of comparing entries by file name, > moreover it reuses the same hash value as directory entry offset and > eliminates possible issue of duplicate directory offsets on 64-bit > archs. In other words it makes VOP_READDIR on large directories faster > for non-zero offsets. > > I'm willing to commit the patch and would appreciate if people actively > using tmpfs give it a try. I applied patch on my test machines on 9-STABLE (i386/amd64). Both use tmpfs when building ports. No regression for three days (compiling openoffice/chromium). -- Sphinx of black quartz judge my vow.