• R
    ACPI: Introduce acpi_os_ioremap() · 2d6d9fd3
    Rafael J. Wysocki 提交于
    Commit ca9b600b ("ACPI / PM: Make suspend_nvs_save() use
    acpi_os_map_memory()") attempted to prevent the code in osl.c and nvs.c
    from using different ioremap() variants by making the latter use
    acpi_os_map_memory() for mapping the NVS pages.  However, that also
    requires acpi_os_unmap_memory() to be used for unmapping them, which
    causes synchronize_rcu() to be executed many times in a row
    unnecessarily and introduces substantial delays during resume on some
    systems.
    
    Instead of using acpi_os_map_memory() for mapping the NVS pages in nvs.c
    introduce acpi_os_ioremap() calling ioremap_cache() and make the code in
    both osl.c and nvs.c use it.
    Reported-by: NJeff Chua <jeff.chua.linux@gmail.com>
    Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    2d6d9fd3
acpi.h 10.3 KB