From owner-svn-src-all@freebsd.org Sat Jul 7 15:03:00 2018 Return-Path: Delivered-To: svn-src-all@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 B38EE10292A5; Sat, 7 Jul 2018 15:03:00 +0000 (UTC) (envelope-from gallatin@cs.duke.edu) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 58B6E7B61C; Sat, 7 Jul 2018 15:03:00 +0000 (UTC) (envelope-from gallatin@cs.duke.edu) Received: from [192.168.200.3] (c-73-216-227-39.hsd1.va.comcast.net [73.216.227.39]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: gallatin) by duke.cs.duke.edu (Postfix) with ESMTPSA id E543F2700220; Sat, 7 Jul 2018 11:02:58 -0400 (EDT) DMARC-Filter: OpenDMARC Filter v1.3.1 duke.cs.duke.edu E543F2700220 Authentication-Results: duke.cs.duke.edu; dmarc=none header.from=cs.duke.edu DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=cs.duke.edu; s=mail0816; t=1530975779; bh=Ok2uGiDbcLwBm8EpgF9UEK+3PeUKl+pSk7IvOOi5jwo=; h=Subject:From:Date:From; b=Vtt3fJs1N37W4zMVNElBy9aJ0UU6YakBAZtGp4VcvDyGlpFrtzA1XJqxCwNyG+U60 XTVJ+5aMUp2ktpDb8WxUnDfFjSI7ObuLlAybwTU2dLWimVjQhHxRmG4E+AHNTvMNvD mOrNR8Xheivy4csG/c94eNIc1sTU2QblY/h0DeDVNC3fvIGPxYII9aW0xnla75D+Gx ppd6uTo93ViXPSmBo6C+joclY2MonFLIEQ5WO3G5KDxLW0fMZJ5hHrmtrsM2p0KuD8 0NvhwPvyofZYJC4eKnAwh985gQwE58b46AGHA2G7ScOPw9oZVKnq06HMPW7f9D8R3N uWD3VybBHpusw== Subject: Re: svn commit: r335916 - head/sys/conf Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201807032305.w63N5guY063293@repo.freebsd.org> <20180704142233.GB5562@kib.kiev.ua> <6e5bc5e4-052c-877f-1c36-c72e276ff045@FreeBSD.org> <20180705155417.GI5562@kib.kiev.ua> <2a5b1c50-0f50-bbe1-4fcd-b98f61d24571@FreeBSD.org> <5B3EA725.4010202@grosbein.net> <1dd03d43-6f0d-580b-fd3b-f4494da42c70@FreeBSD.org> From: Andrew Gallatin Message-ID: <51ec1e54-c940-9800-5c84-0f9b6e08895f@cs.duke.edu> Date: Sat, 7 Jul 2018 11:02:58 -0400 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <1dd03d43-6f0d-580b-fd3b-f4494da42c70@FreeBSD.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Jul 2018 15:03:00 -0000 On 07/05/18 19:59, John Baldwin wrote: > You misunderstand. /usr/local/sys/modules would hold module sources so that > they can be recompiled when building a kernel without having to rebuild the > package or reinstall the package. Binary modules would continue to be > installed in /boot/modules. > This is very similar to the approach that many Linux distributions take with DKMS. The kernel sources for out-of-tree modules are kept around, and every time a kernel is installed, its new header files are used to re-compile the out-of-tree module. Similarly, when you install a package containing a kernel module, it is re-compiled and installed for every installed kernel. One thing that was tangentially brought up is that the ability to compile out-of-tree modules requires keeping the kernel-headers around. So we may need to identify all the headers that a module might need, and install them in /boot/$KERNEL/sys or some-such. This would be needed if, for example, we wanted to install a new Nvidia or Virtual Box module and have it work for older installed kernel versions too (eg, across ABI breaking changes in -current). This would certainly make life easier for people running -current. This system works quite well on Linux. For comparison, I used an Ubuntu based desktop with Nvidia graphics at a previous employers, and a FreeBSD-current desktop w/Nvidia graphics now. I've been left w/o graphics accidentally much more often on FreeBSD than I ever had been on Ubuntu, even when compiling my own kernels from git.. Drew