• SeongJae Park's avatar
    xenbus/backend: Add memory pressure handler callback · 8a105678
    SeongJae Park authored
    Granting pages consumes backend system memory.  In systems configured
    with insufficient spare memory for those pages, it can cause a memory
    pressure situation.  However, finding the optimal amount of the spare
    memory is challenging for large systems having dynamic resource
    utilization patterns.  Also, such a static configuration might lack
    flexibility.
    
    To mitigate such problems, this commit adds a memory reclaim callback to
    'xenbus_driver'.  If a memory pressure is detected, 'xenbus' requests
    every backend driver to volunarily release its memory.
    
    Note that it would be able to improve the callback facility for more
    sophisticated handlings of general pressures.  For example, it would be
    possible to monitor the memory consumption of each device and issue the
    release requests to only devices which causing the pressure.  Also, the
    callback could be extended to handle not only memory, but general
    resources.  Nevertheless, this version of the implementation defers such
    sophisticated goals as a future work.
    Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
    Reviewed-by: default avatarRoger Pau Monné <roger.pau@citrix.com>
    Signed-off-by: default avatarSeongJae Park <sjpark@amazon.de>
    Signed-off-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
    8a105678
xenbus.h 8.28 KB