From owner-svn-src-projects@FreeBSD.ORG Sun Aug 25 12:12:30 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 64538478; Sun, 25 Aug 2013 12:12:30 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-ee0-x234.google.com (mail-ee0-x234.google.com [IPv6:2a00:1450:4013:c00::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C37982AA1; Sun, 25 Aug 2013 12:12:29 +0000 (UTC) Received: by mail-ee0-f52.google.com with SMTP id c41so1108131eek.11 for ; Sun, 25 Aug 2013 05:12:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=UEVEN/A+6r0BBjRvc5l+iWc/9SjoIkX5uswx8uTXN/4=; b=pos/LJlTiS8ndJlBXo4TNTUDX5lcKAcuMrk/qXN3IuBrsrYdXtTxIWtwyQ6b2Hz5e9 /FDBy8QUxSAboAjJRwklLxsaizKIfBQ464bBlmQ7tzudAkz3eCCIETCsm9HjfV3ym0O4 AefTjH40Lv/L0puRp+q3tNPuBLMsNOhzp33FgFH2p0QE1hPlfIRCJv4cKV3R+rYpYb+C ycRx2QoBioCzQaoDl9g0z1rHXgCMxM5ywSacm2sKBjOr6e5FvQ2oJVkbtNHgk38EPPaZ TaxTkUbT+ktUYwwhEbAjNnNG/aMosM55MTc25jh7JgwQz+qFvblQxAXEZwMpemEQqK/k l3iw== X-Received: by 10.14.108.9 with SMTP id p9mr16491666eeg.8.1377432748021; Sun, 25 Aug 2013 05:12:28 -0700 (PDT) Received: from mavbook.mavhome.dp.ua ([37.229.21.195]) by mx.google.com with ESMTPSA id j7sm13609844eeo.15.1969.12.31.16.00.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 25 Aug 2013 05:12:27 -0700 (PDT) Sender: Alexander Motin Message-ID: <5219F4A9.2090501@FreeBSD.org> Date: Sun, 25 Aug 2013 15:12:25 +0300 From: Alexander Motin User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130616 Thunderbird/17.0.6 MIME-Version: 1.0 To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: Re: svn commit: r254846 - projects/camlock/sys/cddl/contrib/opensolaris/uts/common/fs/zfs References: <201308251121.r7PBLA3v033536@svn.freebsd.org> In-Reply-To: <201308251121.r7PBLA3v033536@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Aug 2013 12:12:30 -0000 On 25.08.2013 14:21, Alexander Motin wrote: > Author: mav > Date: Sun Aug 25 11:21:10 2013 > New Revision: 254846 > URL: http://svnweb.freebsd.org/changeset/base/254846 > > Log: > Allow GEOM direct dispatch for zvol providers. Skip request handover to > the worker thread if current context allows sleeping (thanks to the direct > dispatch in action we are not in GEOM thread). > > Together this doubles zvol performance, reaching up to 300K IOPS on my tests. > If there would be unmapped I/O support for zvols, the above value could be > even bigger. I heavily underestimated effect of this change for the case of uncached reads and probably synchronous writes. Due to synchronous nature of the code, parallel execution introduced by this change can increase performance by much more then mentioned two times. With 8-64 threads doing uncached random read this change gives 6-10x performance! Now I am very curios why zvol was made to have only one worker thread per zvol, while multiple threads there could give major improvement even without direct dispatch. -- Alexander Motin