Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Feb 2017 12:56:44 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Sean Bruno <sbruno@freebsd.org>
Cc:        John Baldwin <jhb@freebsd.org>, "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>
Subject:   Re: Thinning out GENERIC
Message-ID:  <CANCZdfrWycNbmmwmjacHf5KJxnRHoLeZW1s%2B1F1XWfHyWxtn_w@mail.gmail.com>
In-Reply-To: <ff6d9a9d-36f2-459f-78c5-a7269c2caae9@freebsd.org>
References:  <34e4e9bd-c7a8-e3e2-4cef-98a691ea7944@freebsd.org> <2553875.ilSvFZYQZ6@ralph.baldwin.cx> <bf4931ec-2c05-2b90-8bc6-affac684bd23@freebsd.org> <1907688.dXvDEfTesD@ralph.baldwin.cx> <ff6d9a9d-36f2-459f-78c5-a7269c2caae9@freebsd.org>

index | next in thread | previous in thread | raw e-mail

On Fri, Feb 17, 2017 at 12:54 PM, Sean Bruno <sbruno@freebsd.org> wrote:
>
>
> On 02/17/17 12:49, John Baldwin wrote:
>> On Friday, February 17, 2017 11:43:45 AM Sean Bruno wrote:
>>>
>>> On 02/13/17 11:33, John Baldwin wrote:
>>>> On Monday, February 13, 2017 10:51:36 AM Warner Losh wrote:
>>>>> [[ It isn't just GENERIC, it's in every single kernel ]]
>>>>>
>>>>> On Sun, Feb 12, 2017 at 7:59 AM, Sean Bruno <sbruno@freebsd.org> wrote:
>>>>>> Index: sys/conf/files
>>>>>> ===================================================================
>>>>>> --- sys/conf/files      (revision 313683)
>>>>>> +++ sys/conf/files      (working copy)
>>>>>> @@ -2419,7 +2419,7 @@
>>>>>>  dev/pci/pci_user.c             optional pci
>>>>>>  dev/pci/pcib_if.m              standard
>>>>>>  dev/pci/pcib_support.c         standard
>>>>>> -dev/pci/vga_pci.c              optional pci
>>>>>> +#dev/pci/vga_pci.c             optional pci
>>>>>>  dev/pcn/if_pcn.c               optional pcn pci
>>>>>>  dev/pdq/if_fea.c               optional fea eisa
>>>>>>  dev/pdq/if_fpa.c               optional fpa pci
>>>>>>
>>>>>> I'm playing around with small x86 builds and wanted to come up with a
>>>>>> knob that disables the vga_pci driver.  Obviously I still want pci(4) to
>>>>>> be enabled, but I definitely do not need the vga interfaces for
>>>>>> anything.  Any suggestions?
>>>>>
>>>>> You could make it dependent on vt or sc as well as pci, no?
>>>>
>>>> This is a fairly small driver:
>>>>
>>>>      6139      340         8      6487     0x1957   /usr/obj/usr/src/sys/GENERIC
>>>> /vga_pci.o
>>>>
>>>> (From an 11.0-stable build)
>>>>
>>>> device ppc and friends is a lot more for example:
>>>>
>>>>   text   data   bss    dec      hex   filename
>>>>   6238      0     0   6238   0x185e   /usr/obj/usr/src/sys/GENERIC/ppb_1284.o
>>>>   1675     28     0   1703    0x6a7   /usr/obj/usr/src/sys/GENERIC/ppb_base.o
>>>>   2042      0     0   2042    0x7fa   /usr/obj/usr/src/sys/GENERIC/ppb_msq.o
>>>>   6025    296     8   6329   0x18b9   /usr/obj/usr/src/sys/GENERIC/ppbconf.o
>>>>      0    168     0    168     0xa8   /usr/obj/usr/src/sys/GENERIC/ppbus_if.o
>>>>   9099     36     0   9135   0x23af   /usr/obj/usr/src/sys/GENERIC/ppc.o
>>>>    495    256     0    751    0x2ef   /usr/obj/usr/src/sys/GENERIC/ppc_acpi.o
>>>>   1671    256     0   1927    0x787   /usr/obj/usr/src/sys/GENERIC/ppc_isa.o
>>>>   1124    208     0   1332    0x534   /usr/obj/usr/src/sys/GENERIC/ppc_pci.o
>>>>    451    208     0    659    0x293   /usr/obj/usr/src/sys/GENERIC/ppc_puc.o
>>>>   2751    428     8   3187    0xc73   /usr/obj/usr/src/sys/GENERIC/ppi.o
>>>>
>>>> It is needed for drm.
>>>>
>>>
>>> Ok, so ... make it dependant on drm, vt, sc and pci?
>>
>> You can kldload drm at runtime, so a static dependency isn't sufficient.
>> It's not clear why removing this from GENERIC is that important.  ppc is on far
>> fewer machines than vga_pci and takes up 10x more space.
>>
>
> I don't want to remove it from GENERIC.  I want to add the capability to
> remove it.  Sorry if that wasn't clear from my subject line, because it
> doesn't look clear now that I re-read it.

He likely wants to remove a lot of other things too. He's not asking
about those because the are already easy to remove :)

You'd want to make it a module, then have drm depend on the module as
well as the static dependencies you outlines.

And yes, this does highlight some issues with our current build system...

Warner


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfrWycNbmmwmjacHf5KJxnRHoLeZW1s%2B1F1XWfHyWxtn_w>