• David S. Miller's avatar
    Merge tag 'mlx5-4kuar-for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux · bda65b42
    David S. Miller authored
    Saeed Mahameed says:
    
    ====================
    mlx5 4K UAR
    
    The following series of patches optimizes the usage of the UAR area which is
    contained within the BAR 0-1. Previous versions of the firmware and the driver
    assumed each system page contains a single UAR. This patch set will query the
    firmware for a new capability that if published, means that the firmware can
    support UARs of fixed 4K regardless of system page size. In the case of
    powerpc, where page size equals 64KB, this means we can utilize 16 UARs per
    system page. Since user space processes by default consume eight UARs per
    context this means that with this change a process will need a single system
    page to fulfill that requirement and in fact make use of more UARs which is
    better in terms of performance.
    
    In addition to optimizing user-space processes, we introduce an allocator
    that can be used by kernel consumers to allocate blue flame registers
    (which are areas within a UAR that are used to write doorbells). This provides
    further optimization on using the UAR area since the Ethernet driver makes
    use of a single blue flame register per system page and now it will use two
    blue flame registers per 4K.
    
    The series also makes changes to naming conventions and now the terms used in
    the driver code match the terms used in the PRM (programmers reference manual).
    Thus, what used to be called UUAR (micro UAR) is now called BFREG (blue flame
    register).
    
    In order to support compatibility between different versions of
    library/driver/firmware, the library has now means to notify the kernel driver
    that it supports the new scheme and the kernel can notify the library if it
    supports this extension. So mixed versions of libraries can run concurrently
    without any issues.
    ====================
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bda65b42
en_main.c 102 KB