Re: [patch] mm: disable user interface to manually rescueunevictable pages

From: Johannes Weiner
Date: Tue Oct 04 2011 - 06:11:56 EST


On Wed, Sep 28, 2011 at 11:14:24AM +0900, Minchan Kim wrote:
> On Tue, Sep 27, 2011 at 09:27:14AM +0200, Johannes Weiner wrote:
> > At one point, anonymous pages were supposed to go on the unevictable
> > list when no swap space was configured, and the idea was to manually
> > rescue those pages after adding swap and making them evictable again.
> > But nowadays, swap-backed pages on the anon LRU list are not scanned
> > without available swap space anyway, so there is no point in moving
> > them to a separate list anymore.
> >
> > The manual rescue could also be used in case pages were stranded on
> > the unevictable list due to race conditions. But the code has been
> > around for a while now and newly discovered bugs should be properly
> > reported and dealt with instead of relying on such a manual fixup.
> >
> > In addition to the lack of a usecase, the sysfs interface to rescue
> > pages from a specific NUMA node has been broken since its
> > introduction, so it's unlikely that anybody ever relied on that.
> >
> > This patch removes the functionality behind the sysctl and the
> > node-interface and emits a one-time warning when somebody tries to
> > access either of them.
> >
> > Signed-off-by: Johannes Weiner <jweiner@xxxxxxxxxx>
> > Reported-by: Kautuk Consul <consul.kautuk@xxxxxxxxx>
> Reviewed-by: Minchan Kim <minchan.kim@xxxxxxxxx>

Thanks, Minchan.

> > @@ -3469,11 +3415,8 @@ int scan_unevictable_handler(struct ctl_table *table, int write,
> > void __user *buffer,
> > size_t *length, loff_t *ppos)
> > {
> > + warn_scan_unevictable_pages();
> > proc_doulongvec_minmax(table, write, buffer, length, ppos);
> > -
> > - if (write && *(unsigned long *)table->data)
> > - scan_all_zones_unevictable_pages();
> > -
> > scan_unevictable_pages = 0;
>
> Nitpick:
> Could we remove this resetting with zero?

table->data = &scan_unevictable_pages, so I let it in such that the
generic sysctl stuff to process the input and clean up afterward is
complete.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/