From: Hans Reiser <reiser@namesys.com>

When kernel is compiled with CONFIG_FRAME_POINTER reiser4 turns on debugging
code which provides stack back-trace.  It is collected through
__builtin_return_address() gcc builtin.  Unfortunately,
__builtin_return_address() doesn't provide means to detect when bottom of the
stack is reached, and just crashed when trying to access non-existent frame.

Reiser4 implements a work around for this problem.  For this it needs kswapd
to be not static.

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/mm/vmscan.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN mm/vmscan.c~reiser4-unstatic-kswapd mm/vmscan.c
--- 25/mm/vmscan.c~reiser4-unstatic-kswapd	2004-09-15 22:10:09.532525824 -0700
+++ 25-akpm/mm/vmscan.c	2004-09-15 22:10:09.537525064 -0700
@@ -1116,7 +1116,7 @@ out:
  * If there are applications that are active memory-allocators
  * (most normal use), this basically shouldn't matter.
  */
-static int kswapd(void *p)
+int kswapd(void *p)
 {
 	pg_data_t *pgdat = (pg_data_t*)p;
 	struct task_struct *tsk = current;
_