ZERO PAGE again v2
From: | KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> | |
To: | "linux-mm@kvack.org" <linux-mm@kvack.org> | |
Subject: | [RFC][PATCH 0/4] ZERO PAGE again v2 | |
Date: | Tue, 7 Jul 2009 16:51:01 +0900 | |
Message-ID: | <20090707165101.8c14b5ac.kamezawa.hiroyu@jp.fujitsu.com> | |
Cc: | npiggin@suse.de, "hugh.dickins@tiscali.co.uk" <hugh.dickins@tiscali.co.uk>, avi@redhat.com, "akpm@linux-foundation.org" <akpm@linux-foundation.org>, torvalds@linux-foundation.org | |
Archive‑link: | Article |
Hi, this is ZERO_PAGE mapping revival patch v2. ZERO PAGE was removed in 2.6.24 (=> http://lkml.org/lkml/2007/10/9/112) and I had no objections. In these days, at user support jobs, I noticed a few of customers are making use of ZERO_PAGE intentionally...brutal mmap and scan, etc. (For example, scanning big sparse table and save the contents.) They are using RHEL4-5(before 2.6.18) then they don't notice that ZERO_PAGE is gone, yet. yes, I can say "ZERO PAGE is gone" to them in next generation distro. Recently, a question comes to lkml (http://lkml.org/lkml/2009/6/4/383 Maybe there are some users of ZERO_PAGE other than my customers. So, can't we use ZERO_PAGE again ? IIUC, the problem of ZERO_PAGE was - reference count cache ping-pong - complicated handling. - the behavior page-fault-twice can make applications slow. This patch is a trial to de-refcounted ZERO_PAGE. This includes 4 patches. [1/4] introduce pte_zero() at el. [2/4] use ZERO_PAGE for READ fault in anonymous mapping. [3/4] corner cases, get_user_pages() [4/4] introduce get_user_pages_nozero(). I feel these patches needs to be clearer but includes almost all messes we have to handle at using ZERO_PAGE again. What I feel now is a. technically, we can do because we did. b. Considering maintenance, code's beauty etc.. ZERO_PAGE adds messes. c. Very big benefits for some (a few?) users but no benefits to usual programs. There are trade-off between b. and c. Any comments are welcome. -Kame -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>