From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Wagner Subject: [PATCH v2 1/5] cgroup: Only update sk_cgrp_prioidx on change Date: Wed, 11 Jul 2012 11:35:37 +0200 Message-ID: <1341999341-1808-2-git-send-email-wagi@monom.org> References: <1341999341-1808-1-git-send-email-wagi@monom.org> Return-path: In-Reply-To: <1341999341-1808-1-git-send-email-wagi@monom.org> Sender: netdev-owner@vger.kernel.org List-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: cgroups@vger.kernel.org Cc: netdev@vger.kernel.org, Daniel Wagner , Kamezawa Hiroyuki , Glauber Costa , Tejun Heo , Li Zefan , Eric Dumazet , "David S. Miller" From: Daniel Wagner Do not make the cache line dirty when nothing has changed. sock_update_classid() does exactly the same thing. Signed-off-by: Daniel Wagner Acked-by: Neil Horman Cc: Kamezawa Hiroyuki Cc: Glauber Costa Cc: Tejun Heo Cc: Li Zefan Cc: Eric Dumazet Cc: "David S. Miller" --- net/core/sock.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/net/core/sock.c b/net/core/sock.c index 929bdcc..bbab10d 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -1182,10 +1182,14 @@ EXPORT_SYMBOL(sock_update_classid); void sock_update_netprioidx(struct sock *sk) { + u32 prioidx; + if (in_interrupt()) return; - sk->sk_cgrp_prioidx = task_netprioidx(current); + prioidx = task_netprioidx(current); + if (prioidx != sk->sk_cgrp_prioidx) + sk->sk_cgrp_prioidx = prioidx; } EXPORT_SYMBOL_GPL(sock_update_netprioidx); #endif -- 1.7.11.1.165.g299666c