Received: by 10.192.165.148 with SMTP id m20csp420044imm; Fri, 20 Apr 2018 08:52:36 -0700 (PDT) X-Google-Smtp-Source: AIpwx49JPP2rHDX7j0q2JfhkKCzu9kiP4iCAArDRzeYp69viNbleMi0Z6hxgGVblyP9Qmesj8uIJ X-Received: by 2002:a17:902:d882:: with SMTP id b2-v6mr10085291plz.308.1524239556510; Fri, 20 Apr 2018 08:52:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524239556; cv=none; d=google.com; s=arc-20160816; b=rLOBZ62y402uv1rYVRu9RwcwQjGuf+rFObXMrUzbIHQgLXNQgchTX1SIrwv+jn8Ity pmzWlfQ+Sn5brGbb4zu1cV57d9onBiiu9I6hQeeuStMhn9bWgrgqNIGhv65xkrVsPihR 5K77kS1Fi41iNEL6Y6xzgVmTtKdIY0dHym983hpz3yoYB0Z37i/hwU7QvQD6ppndlbUj oKjSdUQDFMX3priuNlkKn+sLroJDTjyeCz+8IUPG7Z/F9Q4sjplV6a8XdubwwLaCFmqn 8N3ykBUmEGhNP8OheGBWY7l9dvJmV+pC/7CP6R7O/rErfj93OXWc5J0CWyDy7trxZOdn rOxA== 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:subject:cc:to:from:date :dkim-signature:arc-authentication-results; bh=CuGsmMHDpGzOiEHkd8BZJhx4ovdjhP69GM7b/AJCOug=; b=SuHR2C2dcyLpkJxNHtfBLtUsFbikBOzQH0jwW2D97lHqMG/kA3gdflbGfqUn7b1xw0 6DiLGXePmLWjYXVBAfoqPIlmM1g8euTfU0RST2vTjfLtlUqIMZyNoPNBv4YQ2oTcEeDI JPqLuXwCR+kDZVjPob0Kxq8knzr+JVj6Bsraus74YURuMkrOdXZAMJoBlaLonb8kO1o1 ryQcCo+fQXoY/67ZlBW3rk3BzKkFYkvPw/LSeYH88ZcP5DK59B9Elrvv7zRY+jKWIdj2 L1sw0BeHi0LAmHmcMTI52i+92ngQQK/rTtclSOHPT3W2YGceG8RLG4rOWXCEJ0qckxp1 Ugwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@networkplumber-org.20150623.gappssmtp.com header.s=20150623 header.b=v/A/lg9O; 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 m6si5035468pgc.234.2018.04.20.08.52.21; Fri, 20 Apr 2018 08:52:36 -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=@networkplumber-org.20150623.gappssmtp.com header.s=20150623 header.b=v/A/lg9O; 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 S1755905AbeDTPuu (ORCPT + 99 others); Fri, 20 Apr 2018 11:50:50 -0400 Received: from mail-pl0-f68.google.com ([209.85.160.68]:32816 "EHLO mail-pl0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755714AbeDTPur (ORCPT ); Fri, 20 Apr 2018 11:50:47 -0400 Received: by mail-pl0-f68.google.com with SMTP id w12-v6so5497477plp.0 for ; Fri, 20 Apr 2018 08:50:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CuGsmMHDpGzOiEHkd8BZJhx4ovdjhP69GM7b/AJCOug=; b=v/A/lg9OBeqybwn7I2giVv9hLz6hGxY8D5xBEdjyLUyYDEY0pUfLtfKRYKApX4xM9K sA/J7jMOPXFgoU+J/TT3t/xlQQZe4Tgf/rBdqdpFBV9RC2wM9Wfuj3NRId6psYv3wKtL DNBgXRkA6zVWaaJ5IX8MPLLhYIGNGv9F0qChyGB5TPMQ0SKISjMejCKgYfOAm4tOzRLY jYdW7hAJDxsQjpkmadN06sucpeuuYAtg8vFgqNmDUPkhZNk4gEZ4RoTKCX6pS43EteFF jcBFpi1rCgj3HBun5dum9D/Q3ibdHTzutKC8nKWrjB4oRhnpX+gF8+JsjFEm/Rl8PAmP l95g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CuGsmMHDpGzOiEHkd8BZJhx4ovdjhP69GM7b/AJCOug=; b=ekY26iC/yx4KvjQiDjVIkJu6VQEWrTeb6rguR2vXyKo9+UUyZ4sZv4MHnVnd9YMhxY J3bbwPbtLgG5Ac7GIaMa0FTv3qIJdFg4f7q0BPxr+ubF9A3/UIb5lWu6qaXWQwyLx4Mb PWc9UGz8Op2EgcGl9K3znzmxFNtK2pxSWsVyyZeGmnVkx5lcAU4AEv3Mdi5uvb/pmULY IyNl87D0D/OVwTeZfeq/R9qM4X2CsF+AkYjT4gjaJdvZIjrmuHoHguuHtYj3pvIc6jlj GCVaKTpN44Ykk0aFK8F/Cgcwg0bADoHWxqP0k5hHjUWl0fuIwBRwfGfdErm9RdvEqAbL ELxg== X-Gm-Message-State: ALQs6tDnQguEu5ZfSWPH/g4M3Shmj6j6mBMkkf8j4dodtwlUloQOihxx MaXitC4Umq3mYVF1WgL1QhdSh2hXwjA= X-Received: by 2002:a17:902:9886:: with SMTP id s6-v6mr10628844plp.380.1524239446583; Fri, 20 Apr 2018 08:50:46 -0700 (PDT) Received: from xeon-e3 (204-195-71-95.wavecable.com. [204.195.71.95]) by smtp.gmail.com with ESMTPSA id t68sm14204303pfk.9.2018.04.20.08.50.45 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Apr 2018 08:50:46 -0700 (PDT) Date: Fri, 20 Apr 2018 08:50:43 -0700 From: Stephen Hemminger To: Long Li Cc: longli@microsoft.com, "K . Y . Srinivasan" , Haiyang Zhang , Stephen Hemminger , "James E . J . Bottomley" , "Martin K . Petersen" , devel@linuxdriverproject.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [Patch v2] Storvsc: Select channel based on available percentage of ring buffer to write Message-ID: <20180420085043.3a678b89@xeon-e3> In-Reply-To: <20180419215424.3557-1-longli@linuxonhyperv.com> References: <20180419215424.3557-1-longli@linuxonhyperv.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 19 Apr 2018 14:54:24 -0700 Long Li wrote: > From: Long Li > > This is a best effort for estimating on how busy the ring buffer is for > that channel, based on available buffer to write in percentage. It is still > possible that at the time of actual ring buffer write, the space may not be > available due to other processes may be writing at the time. > > Selecting a channel based on how full it is can reduce the possibility that > a ring buffer write will fail, and avoid the situation a channel is over > busy. > > Now it's possible that storvsc can use a smaller ring buffer size > (e.g. 40k bytes) to take advantage of cache locality. > > Changes. > v2: Pre-allocate struct cpumask on the heap. > Struct cpumask is a big structure (1k bytes) when CONFIG_NR_CPUS=8192 (default > value when CONFIG_MAXSMP=y). Don't use kernel stack for it by pre-allocating > them using kmalloc when channels are first initialized. > > Signed-off-by: Long Li Reviewed-by: Stephen Hemminger