diff -u --recursive --new-file linux-2.4.6/fs/nfs/read.c linux-2.4.6-memalloc/fs/nfs/read.c --- linux-2.4.6/fs/nfs/read.c Tue Apr 3 22:45:37 2001 +++ linux-2.4.6-memalloc/fs/nfs/read.c Thu Jul 5 17:15:51 2001 @@ -59,7 +59,7 @@ static __inline__ struct nfs_read_data *nfs_readdata_alloc(void) { struct nfs_read_data *p; - p = kmem_cache_alloc(nfs_rdata_cachep, SLAB_NFS); + p = kmem_cache_alloc(nfs_rdata_cachep, SLAB_NOFS); if (p) { memset(p, 0, sizeof(*p)); INIT_LIST_HEAD(&p->pages); diff -u --recursive --new-file linux-2.4.6/fs/nfs/write.c linux-2.4.6-memalloc/fs/nfs/write.c --- linux-2.4.6/fs/nfs/write.c Mon May 21 21:29:14 2001 +++ linux-2.4.6-memalloc/fs/nfs/write.c Thu Jul 5 17:16:10 2001 @@ -109,7 +109,7 @@ static __inline__ struct nfs_page *nfs_page_alloc(void) { struct nfs_page *p; - p = kmem_cache_alloc(nfs_page_cachep, SLAB_KERNEL); + p = kmem_cache_alloc(nfs_page_cachep, SLAB_NOFS); if (p) { memset(p, 0, sizeof(*p)); INIT_LIST_HEAD(&p->wb_hash); @@ -127,7 +127,7 @@ static __inline__ struct nfs_write_data *nfs_writedata_alloc(void) { struct nfs_write_data *p; - p = kmem_cache_alloc(nfs_wdata_cachep, SLAB_NFS); + p = kmem_cache_alloc(nfs_wdata_cachep, SLAB_NOFS); if (p) { memset(p, 0, sizeof(*p)); INIT_LIST_HEAD(&p->pages); diff -u --recursive --new-file linux-2.4.6/net/sunrpc/sched.c linux-2.4.6-memalloc/net/sunrpc/sched.c --- linux-2.4.6/net/sunrpc/sched.c Tue Apr 3 22:45:37 2001 +++ linux-2.4.6-memalloc/net/sunrpc/sched.c Thu Jul 5 17:45:12 2001 @@ -30,7 +30,7 @@ /* * We give RPC the same get_free_pages priority as NFS */ -#define GFP_RPC GFP_NFS +#define GFP_RPC GFP_NOFS static void __rpc_default_timer(struct rpc_task *task); static void rpciod_killall(void); @@ -744,7 +744,7 @@ * for readahead): * * sync user requests: GFP_KERNEL - * async requests: GFP_RPC (== GFP_NFS) + * async requests: GFP_RPC (== GFP_NOFS) * swap requests: GFP_ATOMIC (or new GFP_SWAPPER) */ void * @@ -1071,8 +1071,6 @@ current->session = 1; current->pgrp = 1; strcpy(current->comm, "rpciod"); - - current->flags |= PF_MEMALLOC; dprintk("RPC: rpciod starting (pid %d)\n", rpciod_pid); while (rpciod_users) {