On Thu, 2015-11-12 at 18:41 -0500, Johannes Weiner wrote:

> @@ -711,6 +705,12 @@ static inline void mem_cgroup_wb_stats(struct 
> bdi_writeback *wb,
>  struct sock;
>  void sock_update_memcg(struct sock *sk);
>  void sock_release_memcg(struct sock *sk);
> +bool mem_cgroup_charge_skmem(struct cg_proto *proto, unsigned int nr_pages);
> +void mem_cgroup_uncharge_skmem(struct cg_proto *proto, unsigned int 
> nr_pages);
> +static inline bool mem_cgroup_under_socket_pressure(struct cg_proto *proto)
> +{
> +     return proto->memory_pressure;
> +}
>  #endif /* CONFIG_INET && CONFIG_MEMCG_KMEM */
>  
>  #ifdef CONFIG_MEMCG_KMEM
> diff --git a/include/net/sock.h b/include/net/sock.h
> index 2eefc99..8cc7613 100644
> --- a/include/net/sock.h
> +++ b/include/net/sock.h
> @@ -1126,8 +1126,8 @@ static inline bool sk_under_memory_pressure(const 
> struct sock *sk)
>       if (!sk->sk_prot->memory_pressure)
>               return false;
>  
> -     if (mem_cgroup_sockets_enabled && sk->sk_cgrp)
> -             return !!sk->sk_cgrp->memory_pressure;
> +     if (mem_cgroup_sockets_enabled && sk->sk_cgrp &&
> +         mem_cgroup_under_socket_pressure(sk->sk_cgrp))
>  
>       return !!*sk->sk_prot->memory_pressure;
>  }


This looks wrong ?

if (A && B && C)
    return !!*sk->sk_prot->memory_pressure;

<compiler should eventually barf, 
as this function should not return void>
}







--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to