From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756784AbZCVXPW (ORCPT ); Sun, 22 Mar 2009 19:15:22 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756603AbZCVXPG (ORCPT ); Sun, 22 Mar 2009 19:15:06 -0400 Received: from mx2.redhat.com ([66.187.237.31]:48696 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756515AbZCVXPE (ORCPT ); Sun, 22 Mar 2009 19:15:04 -0400 Date: Mon, 23 Mar 2009 00:11:11 +0100 From: Oleg Nesterov To: Peter Lojkin Cc: linux-kernel@vger.kernel.org, Ingo Molnar , Peter Zijlstra , rjw@sisk.pl Subject: Re: 2.6.28, limiting cpu time doesn't work Message-ID: <20090322231111.GA21775@redhat.com> References: <20090322201436.GA12838@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03/23, Peter Lojkin wrote: > > Oleg Nesterov wrote: > > > Found this message on http://bugzilla.kernel.org/show_bug.cgi?id=12911 ... > > > > I _think_ posix_cpu_timers_init_group() is not right, it should copy > > cputime_expires->prof_exp. > > > > Peter, any chance you can test the (uncompiled/untested) patch below? > > yes, with this patch 2.6.28.8 works as expected, thank you! Great, thanks! > if you need to test any more patches on the subject i'm ready to do it. > regression test system for our project depends on ability to limit cpu time, > so it's major problem for us... I am not sure what should we do, this needs more discussion. Probably the most simple patch for -stable and 2.6.29 is below. (with this patch we don't even need update_rlimit_cpu(), afaics). Oleg. --- a/kernel/posix-cpu-timers.c +++ b/kernel/posix-cpu-timers.c @@ -1263,7 +1263,8 @@ static inline int fastpath_timer_check(s if (task_cputime_expired(&group_sample, &sig->cputime_expires)) return 1; } - return 0; + + return sig->rlim[RLIMIT_CPU].rlim_cur != RLIM_INFINITY; } /*