From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <42C1C627.5040404@engr.sgi.com> Date: Tue, 28 Jun 2005 16:50:31 -0500 From: Ray Bryant MIME-Version: 1.0 Subject: Re: [RFC] Fix SMP brokenness for PF_FREEZE and make freezing usable for other purposes References: <20050625025122.GC22393@atrey.karlin.mff.cuni.cz> <20050626023053.GA2871@atrey.karlin.mff.cuni.cz> <20050626030925.GA4156@atrey.karlin.mff.cuni.cz> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org Return-Path: To: Christoph Lameter Cc: Linus Torvalds , Pavel Machek , linux-mm@kvack.org, linux-kernel@vger.kernel.org List-ID: Christoph Lameter wrote: > > Index: linux-2.6.12/kernel/power/process.c > =================================================================== > --- linux-2.6.12.orig/kernel/power/process.c 2005-06-27 05:20:15.000000000 +0000 > +++ linux-2.6.12/kernel/power/process.c 2005-06-27 05:22:00.000000000 +0000 > @@ -69,12 +63,12 @@ int freeze_processes(void) > unsigned long flags; > if (!freezeable(p)) > continue; > - if ((frozen(p)) || > + if ((p->flags & PF_FROZEN) || > (p->state == TASK_TRACED) || > (p->state == TASK_STOPPED)) > continue; > > - freeze(p); > + set_thread_flag(TIF_FREEZE); Shouldn't that be "set_ti_thread_flag(p->thread_info, TIF_FREEZE)"? Otherwise you freeze current, not the thread "p". > spin_lock_irqsave(&p->sighand->siglock, flags); > signal_wake_up(p, 0); > spin_unlock_irqrestore(&p->sighand->siglock, flags); > -- Best Regards, Ray ----------------------------------------------- Ray Bryant 512-453-9679 (work) 512-507-7807 (cell) raybry@sgi.com raybry@austin.rr.com The box said: "Requires Windows 98 or better", so I installed Linux. ----------------------------------------------- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: aart@kvack.org