• Tejun Heo's avatar
    percpu: add pcpu_unit_offsets[] · fb435d52
    Tejun Heo authored
    Currently units are mapped sequentially into address space.  This
    patch adds pcpu_unit_offsets[] which allows units to be mapped to
    arbitrary offsets from the chunk base address.  This is necessary to
    allow sparse embedding which might would need to allocate address
    ranges and memory areas which aren't aligned to unit size but
    allocation atom size (page or large page size).  This also simplifies
    things a bit by removing the need to calculate offset from unit
    number.
    
    With this change, there's no need for the arch code to know
    pcpu_unit_size.  Update pcpu_setup_first_chunk() and first chunk
    allocators to return regular 0 or -errno return code instead of unit
    size or -errno.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Cc: David S. Miller <davem@davemloft.net>
    fb435d52
percpu.c 63.3 KB