Skip to content

RFC swap over nfs -v21

Xiaotian Feng linux-mm linux-nfs lkml netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest30 patches 6 repliesIn review

Changes since v20 from the cover letter

- rebased to mmotm-2010-07-01
- dropped the null pointer deref patch for the root cause is wrong SWP_FILE enum
- some minor build fixes
- fix a null pointer deref with mmotm-2010-07-01
- fix a bug when swap with multi files on the same nfs server

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/30mm: serialize access to min_free_kbytesmm/page_alloc.c+13 -30 replies
2/30Swap over network documentationDocumentation/network-swap.txt+268 -00 replies
3/30mm: expose gfp_to_alloc_flags()mm/internal.h mm/page_alloc.c+16 -150 replies
4/30mm: tag reseve pagesinclude/linux/mm_types.h mm/page_alloc.c+4 -10 replies
5/30mm: sl[au]b: add knowledge of reserve pagesinclude/linux/slub_def.h mm/slab.c mm/slob.c +1 more+104 -173 replies
6/30mm: kmem_alloc_estimate()include/linux/slab.h mm/slab.c mm/slob.c +1 more+233 -00 replies
7/30mm: allow PF_MEMALLOC from softirq contextinclude/linux/sched.h kernel/softirq.c mm/page_alloc.c+14 -30 replies
8/30mm: emergency poolinclude/linux/mmzone.h mm/page_alloc.c mm/vmstat.c+80 -130 replies
9/30mm: system wide ALLOC_NO_WATERMARKmm/page_alloc.c+5 -00 replies
10/30mm: __GFP_MEMALLOCinclude/linux/gfp.h mm/page_alloc.c+5 -20 replies
11/30mm: memory reserve managementinclude/linux/reserve.h include/linux/slab.h mm/Makefile +2 more+851 -130 replies
12/30selinux: tag avc cache alloc as non-criticalsecurity/selinux/avc.c+1 -12 replies
13/30net: packet split receive apidrivers/net/bnx2.c drivers/net/e1000e/netdev.c drivers/net/igb/igb_main.c +2 more+18 -340 replies
14/30net: sk_allocation() - concentrate socket related allocationsinclude/linux/skbuff.h include/net/sock.h net/ipv4/tcp.c +2 more+27 -100 replies
15/30netvm: network reserve infrastructureinclude/net/sock.h net/Kconfig net/core/sock.c+152 -10 replies
16/30netvm: INET reservesinclude/net/inet_frag.h include/net/netns/ipv6.h net/ipv4/inet_fragment.c +4 more+186 -60 replies
17/30netvm: hook skb allocation to reservesinclude/linux/mm_types.h include/linux/skbuff.h net/core/skbuff.c+133 -320 replies
18/30netvm: filter emergency skbsnet/core/filter.c+3 -00 replies
19/30netvm: prevent a stream specific deadlockinclude/net/sock.h net/core/sock.c net/ipv4/tcp_input.c +1 more+12 -110 replies
20/30netfilter: NF_QUEUE vs emergency skbsnet/netfilter/core.c+3 -00 replies
21/30netvm: skb processinginclude/net/sock.h net/core/dev.c net/core/sock.c+72 -40 replies
22/30mm: add support for non block device backed swap filesDocumentation/filesystems/Locking Documentation/filesystems/vfs.txt include/linux/buffer_head.h +5 more+144 -50 replies
23/30mm: methods for teaching filesystems about PG_swapcache pagesinclude/linux/mm.h include/linux/pagemap.h mm/swapfile.c+49 -00 replies
24/30nfs: teach the NFS client how to treat PG_swapcache pagesfs/nfs/dir.c fs/nfs/file.c fs/nfs/fscache-index.c +5 more+50 -480 replies
25/30nfs: disable data cache revalidation for swapfilesfs/nfs/inode.c fs/nfs/write.c+63 -120 replies
26/30nfs: enable swap on NFSfs/nfs/Kconfig fs/nfs/file.c fs/nfs/write.c +6 more+137 -30 replies
27/30nfs: fix various memory recursions possible with swap over NFSfs/nfs/pagelist.c fs/nfs/write.c+4 -40 replies
28/30build fix for skb_emergency_protocolnet/core/dev.c+24 -240 replies
29/30fix null pointer deref in swap_entry_freemm/swapfile.c+5 -40 replies
30/30fix mess up on swap with multi files from same nfs serverinclude/linux/sunrpc/xprt.h net/sunrpc/xprtsock.c+4 -40 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH -mmotm 00/30] [RFC] swap over nfs -v21

Hi,

Here's the latest version of swap over NFS series since -v20 last October. We decide to push this feature as it is useful for NAS or virt environment.

The patches are against the mmotm-2010-07-01. We can split the patchset into following parts:

Patch 1 - 12: provides a generic reserve framework. This framework could also be used to get rid of some of the __GFP_NOFAIL users.

Patch 13 - 15: Provide some generic network infrastructure needed later on.

Patch 16 - 21: reserve a little pool to act as a receive buffer, this allows us to inspect packets before tossing them.

Patch 22 - 23: Generic vm infrastructure to handle swapping to a filesystem instead of a block device.

Patch 24 - 27: convert NFS to make use of the new network and vm infrastructure to provide swap over NFS.

Patch 28 - 30: minor bug fixing with latest -mmotm.

[some history]
v19: http://lwn.net/Articles/301915/
v20: http://lwn.net/Articles/355350/

Changes since v20:
- rebased to mmotm-2010-07-01
- dropped the null pointer deref patch for the root cause is wrong SWP_FILE enum
- some minor build fixes
- fix a null pointer deref with mmotm-2010-07-01
- fix a bug when swap with multi files on the same nfs server

Regards
Xiaotian

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>