From owner-p4-projects@FreeBSD.ORG Sun Feb 17 02:32:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7C7A116A421; Sun, 17 Feb 2008 02:32:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41E9516A417 for ; Sun, 17 Feb 2008 02:32:56 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2114D13C467 for ; Sun, 17 Feb 2008 02:32:56 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1H2Wt9v097491 for ; Sun, 17 Feb 2008 02:32:55 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1H2Wteu097488 for perforce@freebsd.org; Sun, 17 Feb 2008 02:32:55 GMT (envelope-from jb@freebsd.org) Date: Sun, 17 Feb 2008 02:32:55 GMT Message-Id: <200802170232.m1H2Wteu097488@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 135545 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Feb 2008 02:32:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=135545 Change 135545 by jb@jb_freebsd1 on 2008/02/17 02:32:07 Don't assert that the linker lock is locked when getting CTF data. To solve the locking problems that DTrace bumps into, we'll have to add a "busy" counter to the linker_file structure so that a module can (lock the linker lock and) say "you can't unload me now because I'm doing stuff, try again later" (then unlock the linker lock) and do it's stuff without otherwise having to hold a lock to stop itself from getting unloaded. Affected files ... .. //depot/projects/dtrace/src/sys/kern/kern_linker.c#29 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/kern_linker.c#29 (text+ko) ==== @@ -650,8 +650,6 @@ int linker_ctf_get(linker_file_t file, const uint8_t **data, int *len) { - KLD_LOCK_ASSERT(); - return (LINKER_CTF_GET(file, data, len)); }