Subject: Re: [PATCH v2 net] tcp: md5: do not use alloc_percpu()

From: David Ahern <[email-masked]>
Date: Thu, 23 Oct 2014 21:45:28 -0600

On 10/23/14, 1:58 PM, Eric Dumazet wrote:
> From: Eric Dumazet<[email-masked]>
>
> percpu tcp_md5sig_pool contains memory blobs that ultimately
> go through sg_set_buf().
>
> -> sg_set_page(sg, virt_to_page(buf), buflen, offset_in_page(buf));
>
> This requires that whole area is in a physically contiguous portion
> of memory. And that @buf is not backed by vmalloc().
>
> Given that alloc_percpu() can use vmalloc() areas, this does not
> fit the requirements.
>
> Replace alloc_percpu() by a static DEFINE_PER_CPU() as tcp_md5sig_pool
> is small anyway, there is no gain to dynamically allocate it.
>
> Signed-off-by: Eric Dumazet<[email-masked]>
> Fixes: 765cf9976e93 ("tcp: md5: remove one indirection level in tcp_md5sig_pool")
> Reported-by: Crestez Dan Leonard<[email-masked]>

Too much time (and too many changes) has passed for this to apply easily 
to v3.4 kernels.

David