From owner-cvs-src@FreeBSD.ORG Thu Jul 6 22:22:18 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CABA516A4F5; Thu, 6 Jul 2006 22:22:18 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1AC0E43D6E; Thu, 6 Jul 2006 22:22:08 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from [10.10.3.185] ([69.15.205.254]) (authenticated bits=0) by pooker.samsco.org (8.13.4/8.13.4) with ESMTP id k66MM0Xk022656; Thu, 6 Jul 2006 16:22:06 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <44AD8D03.3000706@samsco.org> Date: Thu, 06 Jul 2006 16:21:55 -0600 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.12) Gecko/20060206 X-Accept-Language: en-us, en MIME-Version: 1.0 To: John Baldwin References: <200607062142.k66LgaoV050809@repoman.freebsd.org> <44AD8667.9090600@samsco.org> <200607061808.16440.jhb@freebsd.org> In-Reply-To: <200607061808.16440.jhb@freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=0.0 required=3.8 tests=none autolearn=failed version=3.1.1 X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on pooker.samsco.org Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/amd64/linux32 syscalls.master src/sys/compat/linux linux_ioctl.c src/sys/i386/linux syscalls.master X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Jul 2006 22:22:18 -0000 John Baldwin wrote: > On Thursday 06 July 2006 17:53, Scott Long wrote: > >>John Baldwin wrote: >> >>>jhb 2006-07-06 21:42:36 UTC >>> >>> FreeBSD src repository >>> >>> Modified files: >>> sys/amd64/linux32 syscalls.master >>> sys/compat/linux linux_ioctl.c >>> sys/i386/linux syscalls.master >>> Log: >>> - Protect the list of linux ioctl handlers with an sx lock. >>> - Hold Giant while calling linux ioctl handlers for now as they aren't > > all > >>> known to be MPSAFE yet. >>> - Mark linux_ioctl() MPSAFE. >>> >>> Revision Changes Path >>> 1.15 +1 -1 src/sys/amd64/linux32/syscalls.master >>> 1.137 +17 -0 src/sys/compat/linux/linux_ioctl.c >>> 1.72 +1 -1 src/sys/i386/linux/syscalls.master >> >>Why not add the small bit of infrastucture so that modules can declare >>their handlers as MPSAFE or not? There are certainly some drivers that >>would benefit from this. > > > We can certainly do that. I'm up to at least 3 places that this could be > done now: > > - module event handlers > - sysinit's > - linux_ioctl handlers > > For now my focus is on eliminating syscall mpsafe flag, and most syscalls > can be made Giant free at this point, but for a few Giant is just being > pushed part of the way in. > What I'm afraid of is that these things will get forgotten now that they have been pushed out of the way. Are you interested in taking the next step here? Scott