From owner-freebsd-hackers@FreeBSD.ORG Tue Dec 27 16:00:19 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B503D106566B for ; Tue, 27 Dec 2011 16:00:18 +0000 (UTC) (envelope-from giovanni.trematerra@gmail.com) Received: from mail-qy0-f182.google.com (mail-qy0-f182.google.com [209.85.216.182]) by mx1.freebsd.org (Postfix) with ESMTP id 3B44B8FC08 for ; Tue, 27 Dec 2011 16:00:17 +0000 (UTC) Received: by qcse13 with SMTP id e13so10565605qcs.13 for ; Tue, 27 Dec 2011 08:00:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=uywAWe5nTNLf2Pg7n4JY4rx3ym1q/TcRg+wSuHOIjLc=; b=Qo7dbDEbqSwAsKKKtzg0ZUGeYpmyXXrEMaNykIp1mqGkDAWb9EhrTUgMfjT8Em+2dq eKvziOUUbcqDUyBaO7MG9P2NXanwpGhs6uBW+kyLW4x2gJZU0sNMHztl4yVZHRUpyaZO 3cYfLlLykjqi+HtCuFN4MTXddLvZ/KhGKmv0w= MIME-Version: 1.0 Received: by 10.229.134.197 with SMTP id k5mr10163694qct.58.1325000284984; Tue, 27 Dec 2011 07:38:04 -0800 (PST) Received: by 10.229.185.82 with HTTP; Tue, 27 Dec 2011 07:38:04 -0800 (PST) In-Reply-To: <20111226202414.GA18713@centaur.acm.jhu.edu> References: <20111226202414.GA18713@centaur.acm.jhu.edu> Date: Tue, 27 Dec 2011 16:38:04 +0100 Message-ID: From: Giovanni Trematerra To: Venkatesh Srinivas Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-hackers@freebsd.org Subject: Re: Per-mount syncer threads and fanout for pagedaemon cleaning X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Dec 2011 16:00:19 -0000 On Mon, Dec 26, 2011 at 9:24 PM, Venkatesh Srinivas wrote: > Hi! > > I've been playing with two things in DragonFly that might be of interest > here. > > Thing #1 := > > First, per-mountpoint syncer threads. Currently there is a single thread, > 'syncer', which periodically calls fsync() on dirty vnodes from every mount, > along with calling vfs_sync() on each filesystem itself (via syncer vnodes). > > My patch modifies this to create syncer threads for mounts that request it. > For these mounts, vnodes are synced from their mount-specific thread rather > than the global syncer. > > The idea is that periodic fsync/sync operations from one filesystem should > not > stall or delay synchronization for other ones. > The patch was fairly simple: > http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/50e4012a4b55e1efc595db0db397b4365f08b640 > There's something WIP by attilio@ on that area. you might want to take a look at http://people.freebsd.org/~attilio/syncer_alpha_15.diff I don't know what hammerfs needs but UFS/FFS and buffer cache make a good job performance-wise and so the authors are skeptical about the boost that such a change can give. We believe that brain cycles need to be spent on other pieces of the system such as ARC and ZFS. -- Gianni