From owner-freebsd-bugs@FreeBSD.ORG Sat Dec 24 15:10:12 2011 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 501EA106566C for ; Sat, 24 Dec 2011 15:10:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 2EF478FC08 for ; Sat, 24 Dec 2011 15:10:12 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id pBOFACAT010254 for ; Sat, 24 Dec 2011 15:10:12 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id pBOFACvG010253; Sat, 24 Dec 2011 15:10:12 GMT (envelope-from gnats) Date: Sat, 24 Dec 2011 15:10:12 GMT Message-Id: <201112241510.pBOFACvG010253@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Ivan Klymenko Cc: Subject: Re: kern/163585: cpuset by twice kill SMP functionality X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Ivan Klymenko List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Dec 2011 15:10:12 -0000 The following reply was made to PR kern/163585; it has been noted by GNATS. From: Ivan Klymenko To: Oleg Ginzburg Cc: freebsd-gnats-submit@FreeBSD.org Subject: Re: kern/163585: cpuset by twice kill SMP functionality Date: Sat, 24 Dec 2011 16:25:41 +0200 =D0=92 Sat, 24 Dec 2011 14:17:39 GMT Oleg Ginzburg =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >=20 > >Number: 163585 > >Category: kern > >Synopsis: cpuset by twice kill SMP functionality > >Confidential: no > >Severity: critical > >Priority: high > >Responsible: freebsd-bugs > >State: open > >Quarter: =20 > >Keywords: =20 > >Date-Required: > >Class: sw-bug > >Submitter-Id: current-users > >Arrival-Date: Sat Dec 24 14:20:09 UTC 2011 > >Closed-Date: > >Last-Modified: > >Originator: Oleg Ginzburg > >Release: 9.0-RC3, 10-CURRENT, 9-STABLE > >Organization: > >Environment: > FreeBSD gizmo.my.domain 9.0-PRERELEASE FreeBSD 9.0-PRERELEASE #12: > Sun Dec 11 00:00:04 MSK 2011 > root@gizmo.my.domain:/usr/obj/usr/src/sys/GENERIC amd64 > >Description: > The problem is observed at attempt to specify cpu-list for any > process by a quantity of times. For example: >=20 > Before problem: > / head of top / > 146 processes: 1 running, 145 sleeping > CPU 0: 4.7% user, 0.0% nice, 0.4% system, 0.4% interrupt, 94.5% > idle CPU 1: 2.8% user, 0.0% nice, 0.4% system, 0.0% interrupt, > 96.9% idle CPU 2: 0.8% user, 0.0% nice, 0.0% system, 0.0% > interrupt, 99.2% idle CPU 3: 1.2% user, 0.0% nice, 0.0% system, > 0.0% interrupt, 98.8% idle CPU 4: 0.0% user, 0.0% nice, 0.0% > system, 0.0% interrupt, 100% idle CPU 5: 0.0% user, 0.0% nice, > 0.0% system, 0.0% interrupt, 100% idle Mem: 4195M Active, 287M > Inact, 2699M Wired, 13M Cache, 8642M Free Swap: 4096M Total, 4096M > Free >=20 > PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU > COMMAND 3629 oleg 4 20 0 321M 54816K select 0 0:47 > 1.46% psi 3122 oleg 1 20 0 928M 51348K select 1 > 1:26 1.07% Xorg >=20 > After occurrence resource deadlock avoided system come with unusable > SMP: All new process spawn by one core (make -j6 -C /usr/src > buildworld): >=20 > 177 processes: 8 running, 169 sleeping > CPU 0: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% > idle CPU 1: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, > 100% idle CPU 2: 0.0% user, 0.0% nice, 0.0% system, 0.0% > interrupt, 100% idle CPU 3: 0.0% user, 0.0% nice, 0.0% system, > 0.0% interrupt, 100% idle CPU 4: 0.0% user, 0.0% nice, 0.0% > system, 0.0% interrupt, 100% idle CPU 5: 74.4% user, 0.0% nice, > 22.4% system, 0.4% interrupt, 2.8% idle Mem: 4393M Active, 300M > Inact, 2759M Wired, 13M Cache, 8371M Free Swap: 4096M Total, 4096M > Free >=20 > PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU > COMMAND 30442 root 1 72 0 63204K 48324K RUN 5 > 0:00 2.59% cc1plus 30448 root 1 72 0 61156K 47264K > RUN 5 0:00 2.29% cc1plus 3629 oleg 4 20 0 321M > 54880K select 5 0:55 2.20% psi 30452 root 1 72 0 > 60132K 44768K RUN 5 0:00 2.10% cc1plus 30454 root 1 > 72 0 49868K 38392K RUN 5 0:00 2.10% cc1plus > >How-To-Repeat: > A little bit to play with cpuset: > cpuset -l N -p >=20 >=20 > >Fix: >=20 >=20 > >Release-Note: > >Audit-Trail: > >Unformatted: > >> 3122 oleg 1 21 0 928M 51320K select 5 1:37 > >> 0.88% Xorg << > 30455 root 1 52 0 6280K 3992K piperd 5 0:00 0.29% > as=20 > (after cpuset for Xorg to 5 core) > =20 > It leads to a situation when one core is 100 % occupied, the others > core - 100% idle. There is no possibility to correct a situation > without reboot In particular this also applies to FreeBSD 10.0-CURRENT and on both schedulers (ULE and 4BSD).