On Fri 04-12-15 15:58:53, Chris Wilson wrote: > Some modules, like i915.ko, use swappable objects and may try to swap > them out under memory pressure (via the shrinker). Before doing so, they > want to check using get_nr_swap_pages() to see if any swap space is > available as otherwise they will waste time purging the object from the > device without recovering any memory for the system. This requires the > nr_swap_pages counter to be exported to the modules. I guess it should be sufficient to change get_nr_swap_pages into a real function and export it rather than giving the access to the counter directly? > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: "Goel, Akash" <akash.goel@xxxxxxxxx> > Cc: Johannes Weiner <hannes@xxxxxxxxxxx> > Cc: linux-mm@xxxxxxxxx > --- > mm/swapfile.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/mm/swapfile.c b/mm/swapfile.c > index 58877312cf6b..2d259fdb2347 100644 > --- a/mm/swapfile.c > +++ b/mm/swapfile.c > @@ -48,6 +48,12 @@ static sector_t map_swap_entry(swp_entry_t, struct block_device**); > DEFINE_SPINLOCK(swap_lock); > static unsigned int nr_swapfiles; > atomic_long_t nr_swap_pages; > +/* > + * Some modules use swappable objects and may try to swap them out under > + * memory pressure (via the shrinker). Before doing so, they may wish to > + * check to see if any swap space is available. > + */ > +EXPORT_SYMBOL_GPL(nr_swap_pages); > /* protected with swap_lock. reading in vm_swap_full() doesn't need lock */ > long total_swap_pages; > static int least_priority; > -- > 2.6.2 > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@xxxxxxxxx. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a> -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>