From owner-freebsd-current@freebsd.org Tue May 24 14:41:28 2016 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 35579B4805B for ; Tue, 24 May 2016 14:41:28 +0000 (UTC) (envelope-from ken@kdm.org) Received: from mailman.ysv.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 1FF73164B for ; Tue, 24 May 2016 14:41:28 +0000 (UTC) (envelope-from ken@kdm.org) Received: by mailman.ysv.freebsd.org (Postfix) id 1F4B8B4805A; Tue, 24 May 2016 14:41:28 +0000 (UTC) Delivered-To: current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1EF57B48059 for ; Tue, 24 May 2016 14:41:28 +0000 (UTC) (envelope-from ken@kdm.org) Received: from mithlond.kdm.org (mithlond.kdm.org [96.89.93.250]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "A1-33714", Issuer "A1-33714" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id D59FA164A for ; Tue, 24 May 2016 14:41:27 +0000 (UTC) (envelope-from ken@kdm.org) Received: from mithlond.kdm.org (localhost [127.0.0.1]) by mithlond.kdm.org (8.15.2/8.14.9) with ESMTPS id u4OEfPRF066688 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 24 May 2016 10:41:25 -0400 (EDT) (envelope-from ken@mithlond.kdm.org) Received: (from ken@localhost) by mithlond.kdm.org (8.15.2/8.14.9/Submit) id u4OEfPoG066687; Tue, 24 May 2016 10:41:25 -0400 (EDT) (envelope-from ken) Date: Tue, 24 May 2016 10:41:25 -0400 From: "Kenneth D. Merry" To: Gary Jennejohn Cc: current@freebsd.org Subject: Re: AHCI/ADA regression? Message-ID: <20160524144125.GA66261@mithlond.kdm.org> References: <20160521100949.6179a697@ernst.home> <20160523175105.GA50102@mithlond.kdm.org> <20160524155828.7119d8a1@ernst.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160524155828.7119d8a1@ernst.home> User-Agent: Mutt/1.5.23 (2014-03-12) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (mithlond.kdm.org [127.0.0.1]); Tue, 24 May 2016 10:41:25 -0400 (EDT) X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS autolearn=ham autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mithlond.kdm.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 May 2016 14:41:28 -0000 On Tue, May 24, 2016 at 15:58:28 +0200, Gary Jennejohn wrote: > On Mon, 23 May 2016 13:51:05 -0400 > "Kenneth D. Merry" wrote: > > > On Sat, May 21, 2016 at 10:09:49 +0200, Gary Jennejohn wrote: > > > There appears to be a regression in AHCI/ADA behavior since r300207. > > > > > > Starting a test kernel at r300293 results in extremely long timeouts > > > probing ahcich2 for non-existent multiplier ports. > > > > > > Here some kernel output: > > > > Is this dmesg output with or without the problem? > > > > Actually it's the same with and without the problem. The only real > difference is the timeouts. Ahh. > > > ahci0: > > > port 0xff00-0xff07,0xfe00-0xfe03,0xfd00-0xfd07,0xfc00-0xfc03, > > > 0xfb00-0xfb0f mem 0xfe02f000-0xfe02f3ff irq 22 at device 17.0 on pci0 > > > > > > ahci0: AHCI v1.10 with 6 3Gbps ports, Port Multiplier supported > > > > Has the controller always claimed support for Port Multipliers? > > > > Yes, this from today's dmesg.boot: > ahci0: AHCI v1.10 with 6 3Gbps ports, Port Multiplier supported > > > > ahcich2: at channel 2 on ahci0 > > > > > > ada1 at ahcich2 bus 0 scbus2 target 0 lun 0 > > > > > > /dev/ada1p1 on /home (ufs, local, journaled soft-updates) > > > > > > An older kernel at r299170 does not exhibit this peculiar behavior and > > > mounts /home with no delays. > > > > Are you able to send dmesg output before and after? > > > > Before is easy, since I have a dmesg.boot. After - I'll have to > copy it from the screen since I don't have the patience to wait > for booting to complete. The above is pretty much after, but I > can copy down the timeout messages which arise when the > mulitplier ports are probed (no disk is present on any of them, > so it takes forever). > > The question in my mind is - why are "empty" multiplier ports being > probed with the new code but not with the old code? If the HBA says that it supports port multipliers, the kernel should always look for them. It probes the port multiplier first, before moving on to look for regular targets. So, from that standpoint, it should not be any different. It sounds like we're either getting further in the port multiplier probe process, or there is something different about the way things are behaving. If you can determine which commands are timing out, that may give us an idea about where it is in the probe process. Here is one way we may be able to track things down... Build a kernel with these options: options CAMDEBUG options CAM_DEBUG_FLAGS=CAM_DEBUG_PROBE If you build a kernel before and after the change with those options, it will hopefully allow us to compare the probe sequence and get a clue about where to look for the problem. Thanks, Ken -- Kenneth Merry ken@FreeBSD.ORG