From owner-freebsd-hackers@FreeBSD.ORG Tue Dec 27 16:34:13 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 B16771065675 for ; Tue, 27 Dec 2011 16:34:13 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-ww0-f50.google.com (mail-ww0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id 46DDF8FC20 for ; Tue, 27 Dec 2011 16:34:12 +0000 (UTC) Received: by wgbdr11 with SMTP id dr11so21167442wgb.31 for ; Tue, 27 Dec 2011 08:34:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=S5YJvPz8XQuWt0ASru+cu2iJxXtznvl4Zq2LvvI9Qew=; b=LAS+5R4XKKw7paPZmymnEPZ3C0ZJuO2qQ1gYQBZU21JMYatGo9PDgpde16dZVKb4pH NYxpnKtuY+5BRLX2mzvr958N2rYZFal1rvlSec6WMjFa1/HxjfijiEpPMQCzmGD13uUG ABygNtCLKzo2OoHt0BsD8jj/BzR/dgv4YeXQo= MIME-Version: 1.0 Received: by 10.227.207.15 with SMTP id fw15mr28245083wbb.15.1325001904453; Tue, 27 Dec 2011 08:05:04 -0800 (PST) Sender: asmrookie@gmail.com Received: by 10.216.18.130 with HTTP; Tue, 27 Dec 2011 08:05:04 -0800 (PST) In-Reply-To: References: <20111226202414.GA18713@centaur.acm.jhu.edu> Date: Tue, 27 Dec 2011 17:05:04 +0100 X-Google-Sender-Auth: Nw4eTCV6-6YleDvNPiSFG4EVqQQ Message-ID: From: Attilio Rao To: Giovanni Trematerra Content-Type: text/plain; charset=UTF-8 Cc: freebsd-hackers@freebsd.org, Venkatesh Srinivas 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:34:13 -0000 2011/12/27 Giovanni Trematerra : > 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. More specifically, it is likely that focusing on UFS and buffer cache for performance is not really useful, we should drive our efforts over ARC and ZFS. Also, the real bottlenecks in our I/O paths are in GEOM single-threaded design, lack of unmapped I/O functionality, possibly lack of proritized I/O, etc. Attilio -- Peace can only be achieved by understanding - A. Einstein