From owner-svn-src-all@FreeBSD.ORG Mon Aug 20 21:09:47 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5EFD2106567A for ; Mon, 20 Aug 2012 21:09:47 +0000 (UTC) (envelope-from freebsd@damnhippie.dyndns.org) Received: from qmta01.emeryville.ca.mail.comcast.net (qmta01.emeryville.ca.mail.comcast.net [76.96.30.16]) by mx1.freebsd.org (Postfix) with ESMTP id 39A458FC16 for ; Mon, 20 Aug 2012 21:09:47 +0000 (UTC) Received: from omta24.emeryville.ca.mail.comcast.net ([76.96.30.92]) by qmta01.emeryville.ca.mail.comcast.net with comcast id p8dT1j0061zF43QA199ho9; Mon, 20 Aug 2012 21:09:41 +0000 Received: from damnhippie.dyndns.org ([24.8.232.202]) by omta24.emeryville.ca.mail.comcast.net with comcast id p99f1j00a4NgCEG8k99g0l; Mon, 20 Aug 2012 21:09:41 +0000 Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by damnhippie.dyndns.org (8.14.3/8.14.3) with ESMTP id q7KL9bF3021433; Mon, 20 Aug 2012 15:09:37 -0600 (MDT) (envelope-from freebsd@damnhippie.dyndns.org) From: Ian Lepore To: Adrian Chadd In-Reply-To: References: <20120819202622.6db6a8dd@fubar.geek.nz> Content-Type: text/plain; charset="us-ascii" Date: Mon, 20 Aug 2012 15:09:37 -0600 Message-ID: <1345496977.27688.332.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: "src-committers@freebsd.org" , Hans Petter Selasky , "svn-src-all@freebsd.org" , Andrew Turner , Hans Petter Selasky , "svn-src-head@freebsd.org" Subject: Re: svn commit: r239214 - in head/sys: dev/usb dev/usb/controller sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Aug 2012 21:09:47 -0000 On Mon, 2012-08-20 at 13:55 -0700, Adrian Chadd wrote: > I have a report that AR71XX (MIPS) USB broke with this change. > > Hans, would you mind reverting it until we figure out what's going on > in the non-intel USB world? > > Thanks, > > > Adrian It appears that the change in structure sizes has resulted in things shuffling around in memory in a way that triggers a partial cacheline flush bug in the busdma routines for ARM (and I guess for MIPS too). I'm chasing the actual bug in the ARM code, since it's now 100% reproducible. I'm hoping it's the concrete proof for a bug I've long thought was possible in theory. In the meantime, a quick and easy way to work around the problem is to add to your kernel config: option USB_HOST_ALIGN=32 # data cache line size on your platform Since it appears (at least until some evidence points elsewhere) that the problem is in the busdma code for architectures with VIVT caches, I'm not sure reverting the usb changes would be the right move. Avoiding an MFC until we know more might be a good idea, though. -- Ian