lkml.org 
[lkml]   [2017]   [Jul]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 08/23] percpu: modify base_addr to be region specific
    On Mon, Jul 24, 2017 at 07:02:05PM -0400, Dennis Zhou wrote:
    > From: "Dennis Zhou (Facebook)" <dennisszhou@gmail.com>
    >
    > Originally, the first chunk was served by one or two chunks, each
    > given a region they are responsible for. Despite this, the arithmetic
    > was based off of the true base_addr of the chunk making it be overly
    > inclusive.
    >
    > This patch moves the base_addr of chunks that are responsible for the
    > first chunk. The base_addr must remain page aligned to keep the
    > address alignment correct, so it is the beginning of the region served
    > page aligned down. start_offset holds where the region served begins
    > from this new base_addr.
    >
    > The corresponding percpu address checks are modified to be more specific
    > as a result. The first chunk considers only the dynamic region and both
    > first chunk and reserved chunk checks ignore the static region. The
    > static region addresses should never be passed into the allocator. There
    > is no impact here besides distinguishing the first chunk and making the
    > checks specific.
    >
    > The percpu pointer to physical address is left intact as addresses are
    > not given out in the non-allocated portion of percpu memory.
    >
    > nr_pages is added to pcpu_chunk to keep track of the size of the entire
    > region served containing both start_offset and end_offset. This variable
    > will be used to manage the bitmap allocator.
    >
    > Signed-off-by: Dennis Zhou <dennisszhou@gmail.com>

    Reviewed-by: Josef Bacik <jbacik@fb.com>

    Thanks,

    Josef

    \
     
     \ /
      Last update: 2017-07-25 20:24    [W:4.066 / U:0.248 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site