• Yang Shi's avatar
    mm: hwpoison: don't drop slab caches for offlining non-LRU page · d0505e9f
    Yang Shi authored
    In the current implementation of soft offline, if non-LRU page is met,
    all the slab caches will be dropped to free the page then offline.  But
    if the page is not slab page all the effort is wasted in vain.  Even
    though it is a slab page, it is not guaranteed the page could be freed
    at all.
    
    However the side effect and cost is quite high.  It does not only drop
    the slab caches, but also may drop a significant amount of page caches
    which are associated with inode caches.  It could make the most
    workingset gone in order to just offline a page.  And the offline is not
    guaranteed to succeed at all, actually I really doubt the success rate
    for real life workload.
    
    Furthermore the worse consequence is the system may be locked up and
    unusable since the page cache release may incur huge amount of works
    queued for memcg release.
    
    Actually we ran into such unpleasant case in our production environment.
    Firstly, the workqueue of memory_failure_work_func ...
    d0505e9f
hwpoison-inject.c 2.63 KB