From owner-freebsd-current@FreeBSD.ORG Fri Aug 23 18:55:19 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 812525C3 for ; Fri, 23 Aug 2013 18:55:18 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E7CAD2BD4 for ; Fri, 23 Aug 2013 18:55:17 +0000 (UTC) Received: from jhbbsd.localnet (unknown [38.105.238.108]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id C2D24B98A; Fri, 23 Aug 2013 14:55:16 -0400 (EDT) From: John Baldwin To: freebsd-current@freebsd.org Subject: Re: OCE driver on Freebsd 10.0-Current Date: Fri, 23 Aug 2013 13:05:51 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p28; KDE/4.5.5; amd64; ; ) References: In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201308231305.51726.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Fri, 23 Aug 2013 14:55:16 -0400 (EDT) Cc: Venkata Duvvuru X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 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: Fri, 23 Aug 2013 18:55:19 -0000 On Friday, August 23, 2013 4:55:06 am Venkata Duvvuru wrote: > Hi, > > I'm running iperf on Emulex's OCE network adapter in Freebsd-10-current. At > heavy traffic (iperf with ~10 connections), iperf is hanging. The same > driver is working on all other Freebsd versions. > > top -HS shows the below information. > > PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND > > 11 root 155 ki31 0K 128K CPU4 4 146:36 100.00% idle{idle: cpu4} > > 12 root -60 - 0K 688K CPU6 6 52:38 100.00% intr{swi4: clock} > > 11 root 155 ki31 0K 128K CPU2 2 148:42 99.66% idle{idle: cpu2} > > 11 root 155 ki31 0K 128K CPU7 7 149:24 99.27% idle{idle: cpu7} > > 11 root 155 ki31 0K 128K RUN 0 148:00 99.27% idle{idle: cpu0} > > 11 root 155 ki31 0K 128K CPU1 1 149:44 99.17% idle{idle: cpu1} > > 11 root 155 ki31 0K 128K CPU5 5 148:46 99.17% idle{idle: cpu5} > > 11 root 155 ki31 0K 128K CPU3 3 96:57 89.06% idle{idle: cpu3} > > 11 root 155 ki31 0K 128K RUN 6 149:11 13.87% idle{idle: cpu6} > > > > One interesting thing I observed is that intr is taking 100% on CPU6 when > iperf hangs, while iperf is running fine, the intr WCPU percentage is very > low. What does this below line mean? Why intr is 100% on CPU6?? > > 12 root -60 - 0K 688K CPU6 6 52:38 100.00% intr{swi4: clock} This is the thread that runs timers configured via callout_reset() or timeout(). Those are handled differently in 10 than in older branches. I suspect you have a callout that is rescheduling itself constantly or some such. -- John Baldwin