Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755586AbZLBVLK (ORCPT ); Wed, 2 Dec 2009 16:11:10 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754611AbZLBVLJ (ORCPT ); Wed, 2 Dec 2009 16:11:09 -0500 Received: from atrey.karlin.mff.cuni.cz ([195.113.26.193]:33324 "EHLO atrey.karlin.mff.cuni.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754500AbZLBVLI (ORCPT ); Wed, 2 Dec 2009 16:11:08 -0500 Date: Wed, 2 Dec 2009 22:11:07 +0100 From: Pavel Machek To: Alan Jenkins Cc: "Rafael J. Wysocki" , pm list , linux-kernel , Kernel Testers List , Mel Gorman Subject: Re: [PATCH] uswsusp: automatically free the in-memory image once s2disk has finished with it Message-ID: <20091202211107.GA20830@elf.ucw.cz> References: <4B1575AC.6080904@tuffmail.co.uk> <20091201214529.GA1457@csn.ul.ie> <200912012253.08522.rjw@sisk.pl> <4B16545B.3090703@tuffmail.co.uk> <20091202122019.GD1457@csn.ul.ie> <4B16797C.3010304@tuffmail.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4B16797C.3010304@tuffmail.co.uk> X-Warning: Reading this can be dangerous to your mental health. User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1671 Lines: 46 On Wed 2009-12-02 14:28:12, Alan Jenkins wrote: > The original in-kernel suspend (swsusp) frees the in-memory hibernation > image before powering off the machine. s2disk doesn't, so there is > _much_ less free memory when it tries to power off. > > This is a gratuitous difference. The userspace suspend interface > /dev/snapshot only allows the hibernation image to be read once. > Once the s2disk program has read the last page, we can free the entire > image. > > This avoids a hang after writing the hibernation image which was > triggered by commit 5f8dcc21211a3d4e3a7a5ca366b469fb88117f61 > "page-allocator: split per-cpu list into one-list-per-migrate-type": Yes, you work around page-allocator hang. But is it right thing to do? I mean... Power down should not be too memory-critical. Why can't new page allocator handle that? (And yes, when page allocator is fixed we may want to do something like that, but...) Pavel > --- a/kernel/power/user.c > +++ b/kernel/power/user.c > @@ -165,6 +165,10 @@ static ssize_t snapshot_read(struct file *filp, char __user *buf, > res = -EFAULT; > else > *offp = data->handle.offset; > + } else { > + swsusp_free(); > + memset(&data->handle, 0, sizeof(struct snapshot_handle)); > + data->ready = 0; > } > > Unlock: -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/