• Thomas Gleixner's avatar
    asm-generic: Provide kmap_size.h · 4f8b96cd
    Thomas Gleixner authored
    kmap_types.h is a misnomer because the old atomic MAP based array does not
    exist anymore and the whole indirection of architectures including
    kmap_types.h is inconinstent and does not allow to provide guard page
    debugging for this misfeature.
    
    Add a common header file which defines the mapping stack size for all
    architectures. Will be used when converting architectures over to a
    generic kmap_local/atomic implementation.
    
    The array size is chosen with the following constraints in mind:
    
        - The deepest nest level in one context is 3 according to code
          inspection.
    
        - The worst case nesting for the upcoming reemptible version would be:
    
          2 maps in task context and a fault inside
          2 maps in the fault handler
          3 maps in softirq
          2 maps in interrupt
    
    So a total of 16 is sufficient and probably overestimated.
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Link: https://lore.kernel.org/r/20201103095857.078043987@linutronix.de
    4f8b96cd
Kbuild 1.61 KB