Name

sk_page_frag — return an appropriate page_frag

Synopsis

struct page_frag * sk_page_frag (struct sock * sk);
 

Arguments

sk

socket

Description

Use the per task page_frag instead of the per socket one for optimization when we know that we're in the normal context and owns everything that's associated with current.

Testing __GFP_WAIT isn't enough here as direct reclaim may nest inside other socket operations and end up recursing into sk_page_frag while it's already in use.