On Mon, Jul 24, 2017 at 07:02:05PM -0400, Dennis Zhou wrote: > From: "Dennis Zhou (Facebook)" <dennisszhou@xxxxxxxxx> > > 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@xxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Thanks, Josef -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>