From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755876Ab2BADiZ (ORCPT ); Tue, 31 Jan 2012 22:38:25 -0500 Received: from mail-iy0-f174.google.com ([209.85.210.174]:60762 "EHLO mail-iy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752824Ab2BADiU (ORCPT ); Tue, 31 Jan 2012 22:38:20 -0500 From: Frederic Weisbecker To: Andrew Morton , Tejun Heo , Li Zefan Cc: LKML , Frederic Weisbecker , Paul Menage , Johannes Weiner , Aditya Kali , Oleg Nesterov , Tim Hockin , Tejun Heo , Containers , Glauber Costa , Cgroups , Daniel J Walsh , "Daniel P. Berrange" , KAMEZAWA Hiroyuki , Max Kellermann , Mandeep Singh Baines Subject: [PATCH 05/10] res_counter: allow charge failure pointer to be null Date: Wed, 1 Feb 2012 04:37:45 +0100 Message-Id: <1328067470-5980-6-git-send-email-fweisbec@gmail.com> X-Mailer: git-send-email 1.7.5.4 In-Reply-To: <1328067470-5980-1-git-send-email-fweisbec@gmail.com> References: <1328067470-5980-1-git-send-email-fweisbec@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org So that callers of res_counter_charge() don't have to create and pass this pointer even if they aren't interested in it. Signed-off-by: Frederic Weisbecker Cc: Paul Menage Cc: Li Zefan Cc: Johannes Weiner Cc: Aditya Kali Cc: Oleg Nesterov Cc: Tim Hockin Cc: Tejun Heo Cc: Containers Cc: Glauber Costa Cc: Cgroups Cc: Daniel J Walsh Cc: "Daniel P. Berrange" Cc: KAMEZAWA Hiroyuki Cc: Max Kellermann Cc: Mandeep Singh Baines Acked-by: Kirill A. Shutemov Signed-off-by: Andrew Morton --- kernel/res_counter.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/kernel/res_counter.c b/kernel/res_counter.c index 6dc6164..d2fc4cd 100644 --- a/kernel/res_counter.c +++ b/kernel/res_counter.c @@ -43,14 +43,16 @@ int res_counter_charge_until(struct res_counter *counter, unsigned long flags; struct res_counter *c, *u; - *limit_fail_at = NULL; + if (limit_fail_at) + *limit_fail_at = NULL; local_irq_save(flags); for (c = counter; c != limit; c = c->parent) { spin_lock(&c->lock); ret = res_counter_charge_locked(c, val); spin_unlock(&c->lock); if (ret < 0) { - *limit_fail_at = c; + if (limit_fail_at) + *limit_fail_at = c; goto undo; } } -- 1.7.5.4