On Wednesday 12 November 2003 04:44, Olivier Blin wrote:
>
> $ diff -u kernel-config-2.6-{,allmod-}i586smp  | egrep -A 3"^-.*=y"
> -CONFIG_M586=y
> +# CONFIG_M586 is not set
>  # CONFIG_M586TSC is not set
>  # CONFIG_M586MMX is not set

OK that needs tweaking anyway.

> --
> -CONFIG_X86_F00F_BUG=y
>  CONFIG_X86_WP_WORKS_OK=y
>  CONFIG_X86_INVLPG=y
>  CONFIG_X86_BSWAP=y

F00F code is really small, there is no reason to disable it.

> --
> -CONFIG_X86_ALIGNMENT_16=y
> +CONFIG_X86_GOOD_APIC=y

I can't find where it is referenced

>  CONFIG_X86_INTEL_USERCOPY=y
> -# CONFIG_HPET_TIMER is not set

anyone has info about how widely it is used? should it be enabled in generic 
kernel?

> --
> -CONFIG_EDD=y
> -# CONFIG_NOHIGHMEM is not set
> -CONFIG_HIGHMEM4G=y
> +CONFIG_EDD=m
> +CONFIG_NOHIGHMEM=y
> +# CONFIG_HIGHMEM4G is not set

make CONFIG_EDD module. It provides just sysfs interface to EDD data, unless 
we have applications that access sysfs we do not need it in kernel. And those 
applications can always modprobe edd first.

> --
> -CONFIG_HIGHMEM=y
> -CONFIG_HIGHPTE=y
> -# CONFIG_MATH_EMULATION is not set
> +CONFIG_MATH_EMULATION=y

OK that is just stupidity of allmodconfig. Remember it blindly tries to enable 
everything ...

>  CONFIG_MTRR=y
> --
> -CONFIG_ACPI_AC=y
> -CONFIG_ACPI_BATTERY=y
> -CONFIG_ACPI_BUTTON=y

No, please! Everything that can be module should be module. Desktop users has 
no need for most of them and those who need can always load them. It would be 
nice if harddrake could detect needed modules and automatically update 
/etc/sysconfig/acpi.

> +CONFIG_ACPI_AC=m
> +CONFIG_ACPI_BATTERY=m
> +CONFIG_ACPI_BUTTON=m
> --
> -CONFIG_APM=y
> +CONFIG_APM=m

not sure. Probably it should be builtin for legacy reasons - else you get "APM 
missing in Mandrake kernel!". Although technically it can just be loaded out 
of initrd I guess. Given that new systems are likely to support ACPI may be 
we should make it module. And make harddrake detect when APM is needed :)

>  CONFIG_APM_IGNORE_USER_SUSPEND=y
>  CONFIG_APM_DO_ENABLE=y
> --
> -CONFIG_CPU_FREQ_TABLE=y
> +CONFIG_CPU_FREQ_GOV_USERSPACE=m
> +CONFIG_CPU_FREQ_24_API=y
> +CONFIG_CPU_FREQ_TABLE=m

I think those need be modules if possible. Anyone has any experience with it?

> --
> -CONFIG_BINFMT_ELF=y
> +CONFIG_BINFMT_ELF=m
>  CONFIG_BINFMT_AOUT=m
>  CONFIG_BINFMT_MISC=m
> --
> -CONFIG_PARPORT=y
> -CONFIG_PARPORT_PC=y
> -CONFIG_PARPORT_PC_CML1=y
> +CONFIG_PARPORT=m
> +CONFIG_PARPORT_PC=m
> +CONFIG_PARPORT_PC_CML1=m

come on, why should it be builtin?

> --
> -CONFIG_BLK_DEV_FD=y

ditto

> +CONFIG_BLK_DEV_FD=m
> +CONFIG_BLK_DEV_PS2=m
>  CONFIG_BLK_DEV_XD=m
> --
> -CONFIG_PARIDE_PARPORT=y
> +CONFIG_PARIDE_PARPORT=m
>

ditto. I do not have paride device nor I believe do 99% of users.

>  #
> --
> -CONFIG_BLK_DEV_RAM=y
> +CONFIG_BLK_DEV_RAM=m

should it be builtin for initrd to work? If not there is no reason to have it 
builtin.

>  CONFIG_BLK_DEV_RAM_SIZE=4096
>  CONFIG_BLK_DEV_INITRD=y
> --
> -CONFIG_IDE=y
> -CONFIG_BLK_DEV_IDE=y
> +CONFIG_IDE=m
> +CONFIG_BLK_DEV_IDE=m
>
> --
> -CONFIG_BLK_DEV_IDEDISK=y
> +CONFIG_BLK_DEV_HD_IDE=y
> +CONFIG_BLK_DEV_IDEDISK=m
>  CONFIG_IDEDISK_MULTI_MODE=y

nope, module does not work. Even if it possible to fix all missing exported 
symbols, IDE layer does not provide for any sort of module reference counting 
(for chipset drivers)  meaning it is simply unsafe. Which implies kernel must 
include all IDE drivers :(

> --
> -CONFIG_SCSI=y
> +CONFIG_SCSI=m

module, please!

>  CONFIG_SCSI_PROC_FS=y
>
> --
> -CONFIG_BLK_DEV_MD=y
> +CONFIG_BLK_DEV_MD=m

same.

>  CONFIG_MD_LINEAR=m
>  CONFIG_MD_RAID0=m
> --
> -CONFIG_PACKET=y
> +CONFIG_PACKET=m

module

>  CONFIG_PACKET_MMAP=y
>  CONFIG_NETLINK_DEV=m
> -CONFIG_UNIX=y
> +CONFIG_UNIX=m

module

>  CONFIG_NET_KEY=m
>  CONFIG_INET=y
> --
> -CONFIG_ATM=y
> -CONFIG_ATM_CLIP=y
> -# CONFIG_ATM_CLIP_NO_ICMP is not set
> +CONFIG_ATM=m
> +CONFIG_ATM_CLIP=m

come on really, should everyone have ATM?

> --
> -CONFIG_INPUT_MOUSEDEV=y
> +CONFIG_INPUT_MOUSEDEV=m
>  CONFIG_INPUT_MOUSEDEV_PSAUX=y
>  CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
> --
> -CONFIG_SERIO=y
> -CONFIG_SERIO_I8042=y
> +CONFIG_SERIO=m
> +CONFIG_SERIO_I8042=m
>  CONFIG_SERIO_SERPORT=m
> --
> -CONFIG_KEYBOARD_ATKBD=y
> +CONFIG_KEYBOARD_ATKBD=m
>  CONFIG_KEYBOARD_SUNKBD=m
>  CONFIG_KEYBOARD_XTKBD=m
> --
> -CONFIG_MOUSE_PS2=y
> +CONFIG_MOUSE_PS2=m
>  CONFIG_MOUSE_PS2_SYNAPTICS=y
>  CONFIG_MOUSE_SERIAL=m

that is bad. Apparently to have your mouse (and keyboard) autodetected you 
have 
to build it in. OTOH some drivers are still left as module. Meaning - there 
should be some manual configuration. In which case why not configure others 
as well?

There is no problem loading them out of initrd. Of course it needs harddrake 
support finally.

WDYT?

> --
> -CONFIG_SERIAL_8250=y
> -CONFIG_SERIAL_8250_CONSOLE=y
> +CONFIG_SERIAL_8250=m

it needs to be builtin only to have console support ... not sure actually how 
widely it is used. those needing it to debug are likely to know how to 
recompile kernel.

>  CONFIG_SERIAL_8250_CS=m
>  CONFIG_SERIAL_8250_ACPI=y
> --
> -CONFIG_SERIAL_CORE=y
> -CONFIG_SERIAL_CORE_CONSOLE=y
> +CONFIG_SERIAL_CORE=m

see above

>  CONFIG_UNIX98_PTYS=y
>  CONFIG_UNIX98_PTY_COUNT=256
> --
> -CONFIG_AGP=y
> -CONFIG_AGP_ALI=y
> +CONFIG_AGP=m
> +CONFIG_AGP_ALI=m
>  CONFIG_AGP_ATI=m
> -CONFIG_AGP_AMD=y
> +CONFIG_AGP_AMD=m
>  CONFIG_AGP_AMD64=m
> -CONFIG_AGP_INTEL=y
> +CONFIG_AGP_INTEL=m
>  CONFIG_AGP_NVIDIA=m
> -CONFIG_AGP_SIS=y
> -CONFIG_AGP_SWORKS=y
> -CONFIG_AGP_VIA=y
> +CONFIG_AGP_SIS=m
> +CONFIG_AGP_SWORKS=m
> +CONFIG_AGP_VIA=m

any reason to have this builtin? I think it works just fine as module?

> --
> -CONFIG_EXT2_FS=y
> +CONFIG_EXT2_FS=m

if we switch to initramfs format even this can be module :)

>  CONFIG_EXT2_FS_XATTR=y
>  CONFIG_EXT2_FS_POSIX_ACL=y
> --
> -CONFIG_FS_MBCACHE=y

why do you need it in kernel?

> +CONFIG_JBD_DEBUG=y
> +CONFIG_FS_MBCACHE=m
>  CONFIG_REISERFS_FS=m
> --
> -CONFIG_QFMT_V2=y

why?

> +CONFIG_QFMT_V2=m
>  CONFIG_QUOTACTL=y
>  CONFIG_AUTOFS_FS=m
> --
> -CONFIG_NFS_FS=y

why? OK diskless stations ... that is the only application that may require 
it. this is rather special case for generic kernel?

> +CONFIG_NFS_FS=m
>  CONFIG_NFS_V3=y
>  CONFIG_NFS_V4=y
> --
> -CONFIG_NFSD=y

why?

> +CONFIG_NFSD=m
>  CONFIG_NFSD_V3=y
>  CONFIG_NFSD_V4=y
> --
> -CONFIG_LOCKD=y

why (unless it is forced by NFS)?

> +CONFIG_LOCKD=m
>  CONFIG_LOCKD_V4=y
> -CONFIG_EXPORTFS=y
> -CONFIG_SUNRPC=y

why?

> +CONFIG_EXPORTFS=m
> +CONFIG_SUNRPC=m
>  CONFIG_SUNRPC_GSS=m


Reply via email to