Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp679404imm; Fri, 1 Jun 2018 07:48:28 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLR8PaL2/DNaS0gqNOhIDcRT2ezoTnlpXFyz7KrolGJyuyzXNxLe0leCG2LIDy+2PnsgY2J X-Received: by 2002:a62:a38d:: with SMTP id q13-v6mr11252685pfl.49.1527864508095; Fri, 01 Jun 2018 07:48:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527864508; cv=none; d=google.com; s=arc-20160816; b=gLTpOynG/Y13MsKxEj9pH/ifGuPBr+dJIeVNKBzsWQBPS8CI7BxNIpBfDQNyO3tPUb R8YUydEdaL4Grr7ApthzBM4MC9WY6uaJgV461jAk/+d4yMzBp56yBQ8n4A8ujXYV/9DD L6W7l6TH874aMAYzu6kJIQmxxDr57ljV0jpes9GuBtF2u1Tmspr6Rx2tTZaDRfv+aWB4 zl4IltyyK5kLbHXEvZ5GDtVa7Ici1SUag/jXSOqziud4AHy+yAzeeoUGQn6SyZTX1PP/ 53iWZgLkTkza3wxKBlWaLKs4vzt2kcLFHSJ5wClJ+vvTxT99qUsjvgJdRixGappq/nvP Q8hA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=unAH6B8FaXT5KZkSAAjPbGoPsgx71jT2mPs1GSJhLyc=; b=yEGA0IAdEMDhZ5MbucoxbRY/ccPb0p24ro0kHIuQx01WnbYkGopm9tKANlh9jeVlPm lHuIwyPL05vgtTVaa3I08Rv+KliwFrwx8NZqw1pn8hzxgQ2Zhy/ukaSCwOCNa0Mpdrqu JDC1SowW9Y1TL6ll0C3W4tMG0EnXlr6HaZ8WtaU7+UtLIXhMZwBSu0fRm0pYc5I3QgWi sZEDdrqeZjxPjcfkFojYiOcGnkHA+Ik4tJbCKBHN4GyVGQjaqFibtikt+sUOVlATJKTj FMFfgRUgavI0RgXT5AonND2aq/9kgciQAERyrbvgFmW/gi4JQBEdWBH6Inzo7dbAT803 L5Uw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lightnvm-io.20150623.gappssmtp.com header.s=20150623 header.b=pOOg4D5/; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u2-v6si17987975plr.598.2018.06.01.07.48.13; Fri, 01 Jun 2018 07:48:28 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@lightnvm-io.20150623.gappssmtp.com header.s=20150623 header.b=pOOg4D5/; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752660AbeFAOp5 (ORCPT + 99 others); Fri, 1 Jun 2018 10:45:57 -0400 Received: from mail-lf0-f66.google.com ([209.85.215.66]:40230 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752144AbeFAOoC (ORCPT ); Fri, 1 Jun 2018 10:44:02 -0400 Received: by mail-lf0-f66.google.com with SMTP id q11-v6so15212661lfc.7 for ; Fri, 01 Jun 2018 07:44:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lightnvm-io.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=unAH6B8FaXT5KZkSAAjPbGoPsgx71jT2mPs1GSJhLyc=; b=pOOg4D5/niTv0+8HlHboFrj8KlF0QtYi1gdWnPhUqQsllPZJjWrJdwsypoQc/l2VMu rvAfWvTPL+pJ2a5qzJhj2HbBVPi/cBTBklR/a0iGKUAE9ke3/yJ2e7qd6hPGo8wxMRZg vG9yslIrEECNP9ikAed356mz27Xgyw2jK0p+z0EehxGSVx5iYNF246fpZUWeUW8kuzUC z1tWHU/fbLZHZxR/n2oZnSJdyqyaAchP6+eqrPE+a3iEV4it6f/nVw1r4cwTYaBJQvBc zDUygMIImiq4iuAxtn8qZMKCw3JnfjN6dXNrs9rPXfVgXfZ8/K6rBiTtjFVM6u9SBjGb 1xqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=unAH6B8FaXT5KZkSAAjPbGoPsgx71jT2mPs1GSJhLyc=; b=uiI8PQpz5axFuJacKVq6bWWcwF6xODYUteY/GH1Z2YkC2RDWJnu5KJCjMuv4wa8DCA BJZ1Nt1RMxxQnBXVmbYm98yc9h6mv6x9tMMTfGVhm0V0O1NB1cuv99XE21w2GE5rdDXv NtW5uhoOkri2YrVttOFUgbTUZtJiswtX8acJRpkSyGXPamNO/Q4ZPmP3ri0KUinskd0v 0x1Kk1xmvAn29upo1cGr6dmwku9B4PQHIw48VAYb2tI9SJWBR37bfvYfjNuePsuO2USd svdgGJ0Fnbgxwwc0G+Vzp+TJ9GXJtW5gX7eTEMZ+DFXxCF3s01CglPaWGxo2Lkrm4Usp Veow== X-Gm-Message-State: ALKqPwdbXttyeTvvd6U4UgnKpAUx/HKD2L3J3wadMc5fJivokxs51UJM cHebbfP9Q69iQxFHS4JU5B98WQ== X-Received: by 2002:a19:ea1b:: with SMTP id i27-v6mr6796289lfh.98.1527864240624; Fri, 01 Jun 2018 07:44:00 -0700 (PDT) Received: from Macroninja.cnexlabs.com (95-166-82-66-cable.dk.customer.tdc.net. [95.166.82.66]) by smtp.gmail.com with ESMTPSA id e65-v6sm356488lff.13.2018.06.01.07.43.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 01 Jun 2018 07:43:59 -0700 (PDT) From: =?UTF-8?q?Matias=20Bj=C3=B8rling?= To: axboe@fb.com Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, javier@cnexlabs.com, igor.j.konopko@intel.com, marcin.dziegielewski@intel.com, =?UTF-8?q?Matias=20Bj=C3=B8rling?= Subject: [GIT PULL 06/10] lightnvm: pblk: add possibility to set write buffer size manually Date: Fri, 1 Jun 2018 16:41:10 +0200 Message-Id: <20180601144114.17490-7-mb@lightnvm.io> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180601144114.17490-1-mb@lightnvm.io> References: <20180601144114.17490-1-mb@lightnvm.io> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Marcin Dziegielewski In some cases, users can want set write buffer size manually, e.g. to adjust it to specific workload. This patch provides the possibility to set write buffer size via module parameter feature. Signed-off-by: Marcin Dziegielewski Signed-off-by: Igor Konopko Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-init.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c index 783887b891b7..ce561f5d48ce 100644 --- a/drivers/lightnvm/pblk-init.c +++ b/drivers/lightnvm/pblk-init.c @@ -20,6 +20,11 @@ #include "pblk.h" +unsigned int write_buffer_size; + +module_param(write_buffer_size, uint, 0644); +MODULE_PARM_DESC(write_buffer_size, "number of entries in a write buffer"); + static struct kmem_cache *pblk_ws_cache, *pblk_rec_cache, *pblk_g_rq_cache, *pblk_w_rq_cache; static DECLARE_RWSEM(pblk_lock); @@ -172,10 +177,15 @@ static int pblk_rwb_init(struct pblk *pblk) struct nvm_tgt_dev *dev = pblk->dev; struct nvm_geo *geo = &dev->geo; struct pblk_rb_entry *entries; - unsigned long nr_entries; + unsigned long nr_entries, buffer_size; unsigned int power_size, power_seg_sz; - nr_entries = pblk_rb_calculate_size(pblk->pgs_in_buffer); + if (write_buffer_size && (write_buffer_size > pblk->pgs_in_buffer)) + buffer_size = write_buffer_size; + else + buffer_size = pblk->pgs_in_buffer; + + nr_entries = pblk_rb_calculate_size(buffer_size); entries = vzalloc(nr_entries * sizeof(struct pblk_rb_entry)); if (!entries) -- 2.11.0