#GFP_ATOMIC=0x4020。意思是:the caller cannot sleep and wait for memory to be made available
[3387282.901263] ceph-osd: page allocation failure: order:2, mode:0x4020
[3387282.901271] Pid: 10125, comm: ceph-osd Tainted: G C 3.2.0-51-generic #77-Ubuntu
#堆栈说明错误并非開始想象的是由ceph-osd造成的, 而是一个网络设备在分配接收缓存
#上面的order:2说明在分配2的2次方的pages(共16K bytes),为mtu=9000大帧分配的。可是找不着连续的16K的内存了。
[3387282.901274] Call Trace:
[3387282.901277] [] warn_alloc_failed+0xf6/0x150
[3387282.901294] [] ? sk_reset_timer+0x1c/0x30
[3387282.901301] [] ?
tcp_send_delayed_ack+0xe3/0xf0
[3387282.901308] [] ? __tcp_ack_snd_check+0x70/0xa0
[3387282.901314] [] __alloc_pages_nodemask+0x6d7/0x8f0
[3387282.901320] [] ? tcp_v4_do_rcv+0xff/0x1d0
[3387282.901330] [] kmalloc_large_node+0x57/0x85
[3387282.901338] [] __kmalloc_node_track_caller+0x195/0x1e0
[3387282.901344] [] ?
__alloc_skb+0x4b/0x240
[3387282.901349] [] ? __netdev_alloc_skb+0x24/0x50
[3387282.901354] [] __alloc_skb+0x78/0x240
[3387282.901359] [] __netdev_alloc_skb+0x24/0x50
[3387282.901373] [] ixgbe_alloc_rx_buffers+0x289/0x350 [ixgbe]
[3387282.901380] [] ?
napi_skb_finish+0x50/0x70
[3387282.901385] [] ? napi_gro_receive+0xf5/0x140
[3387282.901393] [] ixgbe_clean_rx_irq+0x7eb/0x8a0 [ixgbe]
[3387282.901401] [] ixgbe_poll+0xae/0x1a0 [ixgbe]
[3387282.901406] [] net_rx_action+0x134/0x290
[3387282.901412] [] ? isolate_migratepages+0x333/0x660
[3387282.901418] [] __do_softirq+0xa8/0x210
[3387282.901425] [] ?
_raw_spin_lock+0xe/0x20
[3387282.901432] [] call_softirq+0x1c/0x30
[3387282.901439] [] do_softirq+0x65/0xa0
[3387282.901444] [] irq_exit+0x8e/0xb0
[3387282.901450] [] do_IRQ+0x63/0xe0
[3387282.901455] [] common_interrupt&#