From owner-svn-src-head@FreeBSD.ORG Tue Jul 27 18:22:51 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from [127.0.0.1] (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by hub.freebsd.org (Postfix) with ESMTP id 4B3D21065670; Tue, 27 Jul 2010 18:22:51 +0000 (UTC) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: pyunyh@gmail.com Date: Tue, 27 Jul 2010 14:22:41 -0400 User-Agent: KMail/1.6.2 References: <201007261953.o6QJrAFd069188@svn.freebsd.org> <201007271215.26238.jkim@FreeBSD.org> <20100727165504.GA3100@michelle.cdnetworks.com> In-Reply-To: <20100727165504.GA3100@michelle.cdnetworks.com> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201007271422.43503.jkim@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Gavin Atkinson , src-committers@freebsd.org Subject: Re: svn commit: r210514 - in head/sys/amd64: acpica amd64 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jul 2010 18:22:51 -0000 On Tuesday 27 July 2010 12:55 pm, Pyun YongHyeon wrote: > On Tue, Jul 27, 2010 at 12:15:06PM -0400, Jung-uk Kim wrote: > > On Tuesday 27 July 2010 10:49 am, Gavin Atkinson wrote: > > > On Mon, 2010-07-26 at 19:53 +0000, Jung-uk Kim wrote: > > > > Author: jkim > > > > Date: Mon Jul 26 19:53:09 2010 > > > > New Revision: 210514 > > > > URL: http://svn.freebsd.org/changeset/base/210514 > > > > > > > > Log: > > > > Re-implement FPU suspend/resume for amd64. This removes > > > > superfluous uses of critical_enter(9) and critical_exit(9) by > > > > fpugetregs() and fpusetregs(). Also, we do not touch PCB > > > > flags any more. > > > > > > Hi, > > > > > > Is this likely to make suspend.resume more reliable? Or is it > > > basically more of a tidy up of the existing code? > > > > The latter. > > > > > My laptop hangs on resume maybe 1 in 5 times, but will also > > > hang 100% of the time if I've been running virtualbox - and as > > > a result I'm assuming it's somethign to do with some register > > > saving/restoring that needs to happen but isn't at the moment. > > > > The biggest problem with suspend/resume is there are too many > > drivers (from base and ports) do not save/restore/reinitialize > > firmware, registers or device memory properly. I haven't looked > > at the source but I guess vbox host driver may be one of them. > > To me, it was always USB stack that completely hangs the box. I > tried to fix that but I'm still seeing big wall of new USB stack > and lock complexity. Maybe this would be one of reason why I can't > wake up my box via USB ethernet controller with magic packet. > It seems that suspend/resume KOBJ method is not even invoked for > USB devices. I have a box with a wireless USB keyboard/mouse receiver at home. It does not hang but these devices just disappear and it does not respond to any usbconfig(8) command after S3. Only workaround I found is reloading whole USB stack again. I think it's a chipset-specific (AMD RS780) quirk for ohci(4) or ehci(4). Unfortunately the new USB stack is a big wall for me, too. :-( Jung-uk Kim