lkml.org 
[lkml]   [2018]   [Apr]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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>

    \
     
     \ /
      Last update: 2018-04-20 17:51    [W:2.352 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site