Re: [PATCH 12/12] vmscan: Do not writeback pages in direct reclaim

From: Rik van Riel
Date: Tue Jun 15 2010 - 10:05:42 EST


On 06/15/2010 09:59 AM, Mel Gorman wrote:
On Tue, Jun 15, 2010 at 09:34:18AM -0400, Rik van Riel wrote:
On 06/15/2010 07:45 AM, Mel Gorman wrote:


+/* kswapd and memcg can writeback as they are unlikely to overflow stack */
+static inline bool reclaim_can_writeback(struct scan_control *sc)
+{
+ return current_is_kswapd() || sc->mem_cgroup != NULL;
+}

If direct reclaim can overflow the stack, so can direct
memcg reclaim. That means this patch does not solve the
stack overflow, while admitting that we do need the
ability to get specific pages flushed to disk from the
pageout code.


What path is taken with memcg != NULL that could overflow the stack? I
couldn't spot one but mm/memcontrol.c is a bit tangled so finding all
its use cases is tricky. The critical path I had in mind though was
direct reclaim and for that path, memcg == NULL or did I miss something?

mem_cgroup_hierarchical_reclaim -> try_to_free_mem_cgroup_pages

--
All rights reversed
--
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/