From owner-freebsd-stable@freebsd.org Sat Jan 27 17:41:36 2018 Return-Path: Delivered-To: freebsd-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AEA8FECD9E2 for ; Sat, 27 Jan 2018 17:41:36 +0000 (UTC) (envelope-from marklmi26-fbsd@yahoo.com) Received: from sonic306-20.consmr.mail.gq1.yahoo.com (sonic306-20.consmr.mail.gq1.yahoo.com [98.137.68.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2B0F1721E0 for ; Sat, 27 Jan 2018 17:41:35 +0000 (UTC) (envelope-from marklmi26-fbsd@yahoo.com) X-YMail-OSG: XPYe.WMVM1mOTY_0zw3_iNziTQQq0nZGkazSl9Aoh7EToxBfMzDhK4Rw5tx4khe j1wQ9Z1X3emCNexG.Dk97R_84ghLCcEMRP.5nN8G6ykRKF6tsEelHlO6t6XU4dig4d.Pij7pEUjc wySmjhX.PkS8RCh_t.3RWWwJ5qK1bCuITFjqTrm_zaQIXAV4zJhrgjpOO280mg5SqEpHmv5duZFi ex.vBZwnwP6e8pE9A4vhamEoX50LEZQB6ngNZIGPbyypR4DTARx_UWcJS.ly4jEM2iMh721Bjscg zgbgSmp4hZbbHf6iuawnkVvGXggYjxZ8XQ9ymIjOgUyB3Z169lCe.lkw8pHHNVRE2iM2RdwbtheG f6YF.NQkNWtkbHm4OoOLFqvL2yQm278FATetXpZIR8HkyG58M4AcVa3wusMshhvTrxK1_GQ4uMku VcPzFtPcgLeV7jNJQTtwB00.cxTebbkXMKudVSP4NUnyqqZu3v.aG_N15DvUetHYta.ro Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.gq1.yahoo.com with HTTP; Sat, 27 Jan 2018 17:41:34 +0000 Received: from smtp103.rhel.mail.gq1.yahoo.com (EHLO [192.168.1.25]) ([68.180.227.11]) by smtp411.mail.gq1.yahoo.com (JAMES SMTP Server ) with ESMTPA ID 2844b21d794d965d0883d86affdf0fb5; Sat, 27 Jan 2018 17:41:29 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\)) Subject: Re: Ryzen issues on FreeBSD ? Message-Id: <0641905F-6D9D-4157-9DCC-88A2EBCBB720@yahoo.com> Date: Sat, 27 Jan 2018 09:41:28 -0800 To: Don Lewis , FreeBSD-STABLE Mailing List X-Mailer: Apple Mail (2.3445.5.20) X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Jan 2018 17:41:36 -0000 Don Lewis truckman at FreeBSD.org wrote on Sat Jan 27 08:23:27 UTC 2018 : > PID TID COMM TDNAME CPU PRI STATE = WCHAN =20 > 90692 100801 python2.7 - -1 124 sleep = usem =20 > 90692 100824 python2.7 - -1 124 sleep = usem =20 . . . # grep -r '"usem"' /usr/src/sys/ /usr/src/sys/dev/qlnx/qlnxe/ecore_dbg_fw_funcs.c: "usem", { true, = true, true }, true, DBG_USTORM_ID, /usr/src/sys/kern/kern_umtx.c: error =3D umtxq_sleep(uq, "usem", = timeout =3D=3D NULL ? NULL : &timo); /usr/src/sys/kern/kern_umtx.c: error =3D umtxq_sleep(uq, "usem", = timeout =3D=3D NULL ? NULL : &timo); /usr/src/sys/kern/kern_umtx.c has : #if defined(COMPAT_FREEBSD9) || defined(COMPAT_FREEBSD10) static int do_sem_wait(struct thread *td, struct _usem *sem, struct _umtx_time = *timeout) { . . . error =3D umtxq_sleep(uq, "usem", timeout =3D=3D NULL ? NULL : = &timo); . . . #endif . . . static int do_sem2_wait(struct thread *td, struct _usem2 *sem, struct _umtx_time = *timeout) { . . . error =3D umtxq_sleep(uq, "usem", timeout =3D=3D NULL ? NULL : = &timo); . . . The comparison/contrast for: > 90692 101629 python2.7 - -1 125 sleep = umtxn =20 # grep -r '"umtxn"' /usr/src/sys/ /usr/src/sys/kern/kern_umtx.c: error =3D = umtxq_sleep(uq, "umtxn", timeout =3D=3D NULL ? /usr/src/sys/kern/kern_umtx.c has: static int do_lock_normal(struct thread *td, struct umutex *m, uint32_t flags, struct _umtx_time *timeout, int mode) { . . . /* * We set the contested bit, sleep. Otherwise the lock = changed * and we need to retry or we lost a race to the thread * unlocking the umtx. */ umtxq_lock(&uq->uq_key); umtxq_unbusy(&uq->uq_key); if (old =3D=3D owner) error =3D umtxq_sleep(uq, "umtxn", timeout =3D=3D = NULL ? NULL : &timo); umtxq_remove(uq); umtxq_unlock(&uq->uq_key); umtx_key_release(&uq->uq_key); . . . Both contexts are umtxq_sleep usage: /* * Put thread into sleep state, before sleeping, check if * thread was removed from umtx queue. */ static inline int umtxq_sleep(struct umtx_q *uq, const char *wmesg, struct abs_timeout = *abstime) . . . Note: I'm guessing that /usr/src/sys/dev/qlnx/qlnxe/ecore_dbg_fw_funcs.c is not involved. =3D=3D=3D Mark Millard marklmi at yahoo.com ( markmi at dsl-only.net is going away in 2018-Feb, late)