On Sun 16-08-15 01:42:27, Ben Hutchings wrote: > Proprietary modules should not be able to touch vm_stat or participate > in shrinking.
How does the external and !GPL fs does slab reclaim? Those are essential for the proper memory balancing. You are probably right about vm_stat though. Those counters should be out of those modules. > Signed-off-by: Ben Hutchings <[email protected]> > --- > mm/vmscan.c | 4 ++-- > mm/vmstat.c | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 8286938..e6e7449 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -247,7 +247,7 @@ int register_shrinker(struct shrinker *shrinker) > up_write(&shrinker_rwsem); > return 0; > } > -EXPORT_SYMBOL(register_shrinker); > +EXPORT_SYMBOL_GPL(register_shrinker); > > /* > * Remove one > @@ -259,7 +259,7 @@ void unregister_shrinker(struct shrinker *shrinker) > up_write(&shrinker_rwsem); > kfree(shrinker->nr_deferred); > } > -EXPORT_SYMBOL(unregister_shrinker); > +EXPORT_SYMBOL_GPL(unregister_shrinker); > > #define SHRINK_BATCH 128 > > diff --git a/mm/vmstat.c b/mm/vmstat.c > index 4f5cd97..6d3f8f4 100644 > --- a/mm/vmstat.c > +++ b/mm/vmstat.c > @@ -87,7 +87,7 @@ void vm_events_fold_cpu(int cpu) > * vm_stat contains the global counters > */ > atomic_long_t vm_stat[NR_VM_ZONE_STAT_ITEMS] __cacheline_aligned_in_smp; > -EXPORT_SYMBOL(vm_stat); > +EXPORT_SYMBOL_GPL(vm_stat); > > #ifdef CONFIG_SMP > > -- > Ben Hutchings > [W]e found...that it wasn't as easy to get programs right as we had thought. > ... I realized that a large part of my life from then on was going to be spent > in finding mistakes in my own programs. - Maurice Wilkes, 1949 > -- Michal Hocko SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

