From patchwork Mon Dec 12 18:15:42 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Edward Shishkin X-Patchwork-Id: 9471017 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id E440660476 for ; Mon, 12 Dec 2016 18:18:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D571A27F85 for ; Mon, 12 Dec 2016 18:18:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C7FEE284E7; Mon, 12 Dec 2016 18:18:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.4 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM autolearn=ham version=3.3.1 Received: from lists.sourceforge.net (lists.sourceforge.net [216.34.181.88]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 5625227F85 for ; Mon, 12 Dec 2016 18:18:41 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=sfs-ml-1.v29.ch3.sourceforge.com) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1cGVBO-0005CT-Tq; Mon, 12 Dec 2016 18:18:38 +0000 Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1cGVBN-0005CL-58 for v9fs-developer@lists.sourceforge.net; Mon, 12 Dec 2016 18:18:37 +0000 Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com designates 74.125.82.65 as permitted sender) client-ip=74.125.82.65; envelope-from=edward.shishkin@gmail.com; helo=mail-wm0-f65.google.com; Received: from mail-wm0-f65.google.com ([74.125.82.65]) by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:AES128-SHA:128) (Exim 4.76) id 1cGVBM-0002IE-Ee for v9fs-developer@lists.sourceforge.net; Mon, 12 Dec 2016 18:18:37 +0000 Received: by mail-wm0-f65.google.com with SMTP id a20so12973347wme.2 for ; Mon, 12 Dec 2016 10:18:36 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=omaXlMy58CFTeTrMKLjjfFNvx/CiqJN0mnbXN+lK3KE=; b=mvQV5Q+xUJUksk7OzSGGcbGQcSDJIpzm5K2q1InlLq8wr1MAGWCaLHKOkK5sIutNPA Fp0sFu+DydeEFVXJPXZ44q8M/5aNDI+1peSBGot5xr1kowynBQV6dPGNnuGNr+N0ypLB 4xCQQ6wIN9wWJAyNBlvMEjGFjUfLqDoAxEJM61jtaz7LZ8ULrkXDP/UMR8VAPktB06FV L2SyGl4hVXnM6wPFUJnkoXWZonh0bT76SeIekxm3Ht5fYWnka9/NOCYYBPMgaNgu/kUB Y5rapWY9jHvBgvxsmiyRRGwoFLfLvqqgCP8S8+L1ZKVhois6dIFzy7D/iMXpnTL7AALH CPsA== X-Gm-Message-State: AKaTC00S+W/vb0+SIHfkOowZ0WQlkQ5vt4BJ4OJgHA5VbV9KX2c9DD6M/Sjpc39XxK00vA== X-Received: by 10.28.27.208 with SMTP id b199mr18091044wmb.82.1481566710343; Mon, 12 Dec 2016 10:18:30 -0800 (PST) Received: from zeta.huawei.com (h-213.61.75.66.host.de.colt.net. [213.61.75.66]) by smtp.gmail.com with ESMTPSA id kp5sm58432667wjb.8.2016.12.12.10.18.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Dec 2016 10:18:29 -0800 (PST) From: edward.shishkin@gmail.com To: Eric Van Hensbergen , V9FS Developers Mailing List , Linux Filesystem Development List Date: Mon, 12 Dec 2016 19:15:42 +0100 Message-Id: <1481566542-25894-7-git-send-email-edward.shishkin@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1481566542-25894-1-git-send-email-edward.shishkin@gmail.com> References: <1481566542-25894-1-git-send-email-edward.shishkin@gmail.com> X-Headers-End: 1cGVBM-0002IE-Ee Cc: ZhangWei , Eduard Shishkin , Claudio Fontana , Alexander Graf , QEMU Developers Mailing List , Greg Kurz Subject: [V9fs-developer] [PATCH 7/7] 9p: v9fs fix calculation of max number of merged pages X-BeenThere: v9fs-developer@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: v9fs-developer-bounces@lists.sourceforge.net X-Virus-Scanned: ClamAV using ClamSMTP From: Eduard Shishkin Don't merge too many pages when composing a 9p message because: . it doesn't lead to essential performance improvement; . to not allow user space to allocate big amount of kernel memory. We use a limit of 256K (for total size of all pages merged per message), as larger values don't provide any visible speedup. Signed-off-by: Eduard Shishkin --- fs/9p/v9fs.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fs/9p/v9fs.c b/fs/9p/v9fs.c index 58bff9e..50a4034 100644 --- a/fs/9p/v9fs.c +++ b/fs/9p/v9fs.c @@ -319,6 +319,8 @@ void put_flush_set(struct v9fs_flush_set *fset) kfree(fset); } +#define MAX_FLUSH_DATA_SIZE (262144) + /** * Allocate and initalize flush set * Pre-conditions: valid msize is set @@ -333,6 +335,11 @@ int alloc_init_flush_set(struct v9fs_session_info *v9ses) if (num_pages < 2) /* speedup impossible */ return 0; + if (num_pages > (MAX_FLUSH_DATA_SIZE >> PAGE_SHIFT)) + /* + * no performance gain with larger values + */ + num_pages = MAX_FLUSH_DATA_SIZE >> PAGE_SHIFT; fset = kzalloc(sizeof(*fset), GFP_KERNEL); if (!fset) goto error;