android_kernel_oneplus_msm8998/net/ipv6
Wu Fengguang aa1330766c tcp: replace hard coded GFP_KERNEL with sk_allocation
This fixed a lockdep warning which appeared when doing stress
memory tests over NFS:

	inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage.

	page reclaim => nfs_writepage => tcp_sendmsg => lock sk_lock

	mount_root => nfs_root_data => tcp_close => lock sk_lock =>
			tcp_send_fin => alloc_skb_fclone => page reclaim

David raised a concern that if the allocation fails in tcp_send_fin(), and it's
GFP_ATOMIC, we are going to yield() (which sleeps) and loop endlessly waiting
for the allocation to succeed.

But fact is, the original GFP_KERNEL also sleeps. GFP_ATOMIC+yield() looks
weird, but it is no worse the implicit sleep inside GFP_KERNEL. Both could
loop endlessly under memory pressure.

CC: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
CC: David S. Miller <davem@davemloft.net>
CC: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-09-02 23:45:45 -07:00
..
netfilter
addrconf.c IPv6: preferred lifetime of address not getting updated 2009-07-03 19:10:13 -07:00
addrconf_core.c
addrlabel.c
af_inet6.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-09-02 00:32:56 -07:00
ah6.c
anycast.c
datagram.c
esp6.c
exthdrs.c
exthdrs_core.c
fib6_rules.c
icmp.c inet6: Conversion from u8 to int 2009-08-13 16:43:31 -07:00
inet6_connection_sock.c
inet6_hashtables.c
ip6_fib.c xfrm: select sane defaults for xfrm[4|6] gc_thresh 2009-07-30 18:52:15 -07:00
ip6_flowlabel.c
ip6_input.c ipv6: correct return on ipv6_rcv() packet drop 2009-07-06 18:07:55 -07:00
ip6_output.c ip: Report qdisc packet drops 2009-09-02 18:05:33 -07:00
ip6_tunnel.c netdev: convert pseudo-devices to netdev_tx_t 2009-09-01 01:13:07 -07:00
ip6mr.c net: file_operations should be const 2009-09-02 01:03:53 -07:00
ipcomp6.c
ipv6_sockglue.c inet6: Set default traffic class 2009-08-13 16:43:32 -07:00
Kconfig
Makefile
mcast.c mcastv6: Local variable shadows function argument 2009-07-21 11:13:25 -07:00
mip6.c
ndisc.c net: make neigh_ops constant 2009-09-01 17:40:57 -07:00
netfilter.c
proc.c net: mark read-only arrays as const 2009-08-05 10:42:58 -07:00
protocol.c
raw.c ip: Report qdisc packet drops 2009-09-02 18:05:33 -07:00
reassembly.c
route.c netns: embed ip6_dst_ops directly 2009-09-01 17:40:31 -07:00
sit.c netdev: convert pseudo-devices to netdev_tx_t 2009-09-01 01:13:07 -07:00
syncookies.c
sysctl_net_ipv6.c inet6: functions shadow global variable 2009-08-02 12:54:30 -07:00
tcp_ipv6.c tcp: replace hard coded GFP_KERNEL with sk_allocation 2009-09-02 23:45:45 -07:00
tunnel6.c
udp.c ip: Report qdisc packet drops 2009-09-02 18:05:33 -07:00
udp_impl.h
udplite.c
xfrm6_input.c
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
xfrm6_output.c
xfrm6_policy.c xfrm6: Fix xfrm6_policy.c build when SYSCTL disabled. 2009-08-04 20:32:16 -07:00
xfrm6_state.c
xfrm6_tunnel.c