Messages in this thread | | | Date | Fri, 20 Apr 2018 08:50:43 -0700 | From | Stephen Hemminger <> | Subject | Re: [Patch v2] Storvsc: Select channel based on available percentage of ring buffer to write |
| |
On Thu, 19 Apr 2018 14:54:24 -0700 Long Li <longli@linuxonhyperv.com> wrote:
> From: Long Li <longli@microsoft.com> > > 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 <longli@microsoft.com>
Reviewed-by: Stephen Hemminger <sthemmin@microsoft.com>
| |