From owner-svn-src-head@FreeBSD.ORG Fri Jan 16 18:43:27 2015 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id ECD10CB; Fri, 16 Jan 2015 18:43:27 +0000 (UTC) Received: from mail-wi0-x22f.google.com (mail-wi0-x22f.google.com [IPv6:2a00:1450:400c:c05::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7D7A1D17; Fri, 16 Jan 2015 18:43:27 +0000 (UTC) Received: by mail-wi0-f175.google.com with SMTP id l15so6144241wiw.2; Fri, 16 Jan 2015 10:43:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=hFs9uqKPFCMIEVjTFnxEAfSVhk4EWpUYbFmbooEVYZA=; b=gpICCnFDsQrnmFCg7ac0bknifL1gxdLu9U6eObEXzpvSEWDDaECVlNFHhAU7EOo4vf NKe6FSnTNQ2wg6jonVuzIOA0770eFMPCvAFoJd2D5HwodvIwBOiPrrLtWjn39qKmDAZv QIenOguEbejJXjF7J4ugFuAt63gSbVvRNsKJ0tnCD8dr1jIyssHNuGhUpstOIpVSular ic60SurtorM0Dch9aHa7ZfGj2O8JpsAkHD5yi31UaEh9jdaQMo1f451/wcF0NyUQkZkR V6K06N5yjG7cUmoghcGDUCk3SPeF7F5prqqPFkK231VjGiki5J1h304Q04VcMdMzeyg5 Ukwg== MIME-Version: 1.0 X-Received: by 10.194.24.103 with SMTP id t7mr5278129wjf.15.1421433805929; Fri, 16 Jan 2015 10:43:25 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.216.41.136 with HTTP; Fri, 16 Jan 2015 10:43:25 -0800 (PST) In-Reply-To: <368B22F3-5607-46F8-B8D2-13CA59E94861@bsdimp.com> References: <201501150042.t0F0g7Um018059@svn.freebsd.org> <20150115132303.GA245@zxy.spb.ru> <368B22F3-5607-46F8-B8D2-13CA59E94861@bsdimp.com> Date: Fri, 16 Jan 2015 10:43:25 -0800 X-Google-Sender-Auth: rgrOQLRdKF2PGcjJtEj5es-DF-8 Message-ID: Subject: Re: svn commit: r277204 - head/sys/amd64/conf From: Adrian Chadd To: Warner Losh Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , src-committers , Warner Losh , Slawa Olhovchenkov X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Jan 2015 18:43:28 -0000 On 16 January 2015 at 09:57, Warner Losh wrote: > >> On Jan 15, 2015, at 6:23 AM, Slawa Olhovchenkov wrote: >> >> On Thu, Jan 15, 2015 at 12:42:07AM +0000, Warner Losh wrote: >> >>> Author: imp >>> Date: Thu Jan 15 00:42:06 2015 >>> New Revision: 277204 >>> URL: https://svnweb.freebsd.org/changeset/base/277204 >>> >>> Log: >>> New MINIMAL kernel config. The goal with this configuration is to >>> only compile in those options in GENERIC that cannot be loaded as >>> modules. ufs is still included because many of its options aren't >>> present in the kernel module. There's some other exceptions documented >> >> Are you sure? >> I think defining UFS options in kernel connfig affect to module too. >> When I define this options in kernel config (w/o options FFS) I got >> ufs.ko with this SU, quota, acl etc. > > While one could set options in the kernel to affect the ufs.ko build, > there=E2=80=99s not a universal ufs.ko that can be loaded easily that swi= tches > between the different types of options. You can create modules > that do this, but that=E2=80=99s a very very different problem than the o= ne I > want to solve, namely you get the same[*] functionality having > device fred in the kernel config as kldloading fred.ko. So rather than > bite off that problem also, I=E2=80=99m opting for simplicity. > >>> +options SOFTUPDATES # Enable FFS soft updates support >>> +options UFS_ACL # Support for access control lists >>> +options UFS_DIRHASH # Improve performance on big direc= tories >>> +options UFS_GJOURNAL # Enable gjournal-based UFS journa= ling >>> +options QUOTA # Enable disk quotas for UFS >> >>> +options SYSVSHM # SYSV-style shared memory >>> +options SYSVMSG # SYSV-style message queues >>> +options SYSVSEM # SYSV-style semaphores >>> +device agp # support several AGP chip= sets >>> +device random # Entropy device >>> +device padlock_rng # VIA Padlock RNG >>> +device rdrand_rng # Intel Bull Mountain RNG >>> +device vlan # 802.1Q VLAN support >>> +device tun # Packet tunnel. >>> +device gif # IPv6 and IPv4 tunneling >> >> This is loadable too. > > True > >> And please include: >> >> NETMAP >> NFS_ROOT > > OK. > >> IEEE80211_DEBUG >> IEEE80211_AMPDU_AGE >> IEEE80211_SUPPORT_MESH >> AH_SUPPORT_AR5416 >> AH_AR5416_INTERRUPT_MITIGATION >> ATH_ENABLE_11N > > These are already the default for the ath or wlan modules, if I=E2=80=99m= reading things correctly. Nope. The other half of this problem is where some modules (did? do?) populate an opt_wlan.h with their own options. Some modules did this with the inet option. When I've done what you're doing, I end up having these options in my minimal config file so opt_xxx.h is correctly populated. That way when I point SYSDIR (or whichever variable it is) at the configured kernel directory with the opt_xxx.h files, it all works out correctly. (I still think we shouldn't be relying on "defaults", but should ship the opt_xxx.h files or something to derive the opt_xxx.h and makefile config bits so things like external module building is possible against a kernel. Or, we just kill all module options that change behaviour/ABI of things in an incompatible way.) -adrian