From: Mel Gorman <mgorman@xxxxxxx> Date: Thu, 17 May 2012 15:50:26 +0100 > The skb->pfmemalloc flag gets set to true iff during the slab > allocation of data in __alloc_skb that the the PFMEMALLOC reserves > were used. If page splitting is used, it is possible that pages will > be allocated from the PFMEMALLOC reserve without propagating this > information to the skb. This patch propagates page->pfmemalloc from > pages allocated for fragments to the skb. > > It works by reintroducing and expanding the skb_alloc_page() API > to take an skb. If the page was allocated from pfmemalloc reserves, > it is automatically copied. If the driver allocates the page before > the skb, it should call skb_propagate_pfmemalloc() after the skb is > allocated to ensure the flag is copied properly. > > Failure to do so is not critical. The resulting driver may perform > slower if it is used for swap-over-NBD or swap-over-NFS but it should > not result in failure. > > [davem@xxxxxxxxxxxxx: API rename and consistency] > Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>