Message ID | 20180411091203.28141-1-npiggin@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v2] powerpc/config: powernv_defconfig updates | expand |
On Wed, Apr 11, 2018 at 7:12 PM, Nicholas Piggin <npiggin@gmail.com> wrote: > For consideration: > > * Add IPv6 support built in + additional modules - Because it's 2018 maan. > * Add DEFERRED_STRUCT_PAGE_INIT - Let's see what breaks. We did not find any benefits with this on a P8 in terms of boot time with large memory. May be worth reinvestigating > * Add PPC_MEMTRACE - Small powernv debugfs driver for getting hardware traces. > * Add MEMORY_FAILURE - Machine check exceptions can now drive memory failure. > * Turn on FANOTIFY - This is the current filesystem notification feature. > * Turn on SCOM_DEBUGFS - Handy for hardware/firmware debugging, security risk? Yep, should not be in defconfig, IMHO > * Turn on async SCSI scanning - Let's see what breaks. > > * Make a bunch of USB hid drivers modules. > * Make SCSI SG, SR, and FC modules - FC is huge. > * Make video drivers (except AST GPU) modules - Also huge. > * Add MLX5 driver as a module - Popular demand. > * Make PCI serial driver a module - Uncommon? > > * Get rid of /dev/port - Not used. > * Remove legacy BSD ttys - Long dead. > * Remove IDE - Deprecated and replaced with ATA. > * Remove WIRELESS - Until we get POWER9 laptops. > * Remove RAW - Long deprecated in favour of direct IO. > * Remove floppy, parport, and PS2 input devices - not supported. > * Remove virtio drivers, ballooning - We're host only. I still think its good to have them, may be as modules? Should I switch to powerpc64le_defconfig for a single config with everything -- same kernel as guest and bare metal? > * Remove PPP - Sorry Paulus. > * Make more things modules, NFS FS, RAM disk, netconsole, MS-DOS fs. > > This does not disable FTRACE options, that's just an optimisation the > defconfig target made. make powernv_defconfig adds those to .config. > > This results in a significantly smaller vmlinux: > > text data bss dec hex filename > 13121779 5284224 1383776 19789779 12df7d3 vmlinux > 12126273 4771930 1341464 18239667 11650b3 vmlinux > > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> > --- Balbir Singh.
On Wed, 11 Apr 2018 20:04:45 +1000 Balbir Singh <bsingharora@gmail.com> wrote: > On Wed, Apr 11, 2018 at 7:12 PM, Nicholas Piggin <npiggin@gmail.com> wrote: > > For consideration: > > > > * Add IPv6 support built in + additional modules - Because it's 2018 maan. > > * Add DEFERRED_STRUCT_PAGE_INIT - Let's see what breaks. > > We did not find any benefits with this on a P8 in terms of boot time > with large memory. May be worth reinvestigating Worth putting in the defconfig just for testing until then? > > > * Add PPC_MEMTRACE - Small powernv debugfs driver for getting hardware traces. > > * Add MEMORY_FAILURE - Machine check exceptions can now drive memory failure. ^^^^ Okay for this one? > > * Turn on FANOTIFY - This is the current filesystem notification feature. > > * Turn on SCOM_DEBUGFS - Handy for hardware/firmware debugging, security risk? > > Yep, should not be in defconfig, IMHO Why not? Honest question, I hear some things about secure boot when I ask about this option but I'm not quite sure why, or what we are securing here. If the firmware does not want us to mess with scoms, it should restrict the call, no? > > * Turn on async SCSI scanning - Let's see what breaks. > > > > * Make a bunch of USB hid drivers modules. > > * Make SCSI SG, SR, and FC modules - FC is huge. > > * Make video drivers (except AST GPU) modules - Also huge. > > * Add MLX5 driver as a module - Popular demand. > > * Make PCI serial driver a module - Uncommon? > > > > * Get rid of /dev/port - Not used. > > * Remove legacy BSD ttys - Long dead. > > * Remove IDE - Deprecated and replaced with ATA. > > * Remove WIRELESS - Until we get POWER9 laptops. > > * Remove RAW - Long deprecated in favour of direct IO. > > * Remove floppy, parport, and PS2 input devices - not supported. > > * Remove virtio drivers, ballooning - We're host only. > > I still think its good to have them, may be as modules? Should I > switch to powerpc64le_defconfig for a single config with everything -- > same kernel as guest and bare metal? Well powernv_defconfig never supports PAPR guest. I think the ppc64 defconfig does both (and pseries has no bare metal). Is there a reason to use them in host? And if yes, which ones? We could easily make them as modules. Thanks, Nick
On Wed, Apr 11, 2018 at 8:42 PM, Nicholas Piggin <npiggin@gmail.com> wrote: > On Wed, 11 Apr 2018 20:04:45 +1000 > Balbir Singh <bsingharora@gmail.com> wrote: > >> On Wed, Apr 11, 2018 at 7:12 PM, Nicholas Piggin <npiggin@gmail.com> wrote: >> > For consideration: >> > >> > * Add IPv6 support built in + additional modules - Because it's 2018 maan. >> > * Add DEFERRED_STRUCT_PAGE_INIT - Let's see what breaks. >> >> We did not find any benefits with this on a P8 in terms of boot time >> with large memory. May be worth reinvestigating > > Worth putting in the defconfig just for testing until then? Absolutely! > >> >> > * Add PPC_MEMTRACE - Small powernv debugfs driver for getting hardware traces. >> > * Add MEMORY_FAILURE - Machine check exceptions can now drive memory failure. > > ^^^^ > Okay for this one? Yep definitely! > >> > * Turn on FANOTIFY - This is the current filesystem notification feature. >> > * Turn on SCOM_DEBUGFS - Handy for hardware/firmware debugging, security risk? >> >> Yep, should not be in defconfig, IMHO > > Why not? Honest question, I hear some things about secure > boot when I ask about this option but I'm not quite sure why, or > what we are securing here. > > If the firmware does not want us to mess with scoms, it should > restrict the call, no? > Yes, firmware definitely should. Do we need inband debugging? > >> > * Turn on async SCSI scanning - Let's see what breaks. >> > >> > * Make a bunch of USB hid drivers modules. >> > * Make SCSI SG, SR, and FC modules - FC is huge. >> > * Make video drivers (except AST GPU) modules - Also huge. >> > * Add MLX5 driver as a module - Popular demand. >> > * Make PCI serial driver a module - Uncommon? >> > >> > * Get rid of /dev/port - Not used. >> > * Remove legacy BSD ttys - Long dead. >> > * Remove IDE - Deprecated and replaced with ATA. >> > * Remove WIRELESS - Until we get POWER9 laptops. >> > * Remove RAW - Long deprecated in favour of direct IO. >> > * Remove floppy, parport, and PS2 input devices - not supported. >> > * Remove virtio drivers, ballooning - We're host only. >> >> I still think its good to have them, may be as modules? Should I >> switch to powerpc64le_defconfig for a single config with everything -- >> same kernel as guest and bare metal? > > Well powernv_defconfig never supports PAPR guest. I think the ppc64 > defconfig does both (and pseries has no bare metal). > > Is there a reason to use them in host? And if yes, which ones? We > could easily make them as modules. I guess I should use powerpc64le_defconfig then Balbir
On Wed, 11 Apr 2018 22:24:06 +1000 Balbir Singh <bsingharora@gmail.com> wrote: > On Wed, Apr 11, 2018 at 8:42 PM, Nicholas Piggin <npiggin@gmail.com> wrote: > > On Wed, 11 Apr 2018 20:04:45 +1000 > > Balbir Singh <bsingharora@gmail.com> wrote: > > > >> On Wed, Apr 11, 2018 at 7:12 PM, Nicholas Piggin <npiggin@gmail.com> wrote: > >> > For consideration: > >> > > >> > * Add IPv6 support built in + additional modules - Because it's 2018 maan. > >> > * Add DEFERRED_STRUCT_PAGE_INIT - Let's see what breaks. > >> > >> We did not find any benefits with this on a P8 in terms of boot time > >> with large memory. May be worth reinvestigating > > > > Worth putting in the defconfig just for testing until then? > > Absolutely! > > > > >> > >> > * Add PPC_MEMTRACE - Small powernv debugfs driver for getting hardware traces. > >> > * Add MEMORY_FAILURE - Machine check exceptions can now drive memory failure. > > > > ^^^^ > > Okay for this one? > > Yep definitely! > > > > >> > * Turn on FANOTIFY - This is the current filesystem notification feature. > >> > * Turn on SCOM_DEBUGFS - Handy for hardware/firmware debugging, security risk? > >> > >> Yep, should not be in defconfig, IMHO > > > > Why not? Honest question, I hear some things about secure > > boot when I ask about this option but I'm not quite sure why, or > > what we are securing here. > > > > If the firmware does not want us to mess with scoms, it should > > restrict the call, no? > > > > Yes, firmware definitely should. Do we need inband debugging? I think it's a matter of convenience when testing and debugging things. OTOH I haven't used it a great deal myself. Others do want it if we can just ensure firmware will do the right thing if we're in some secure configuration. Thanks, Nick
diff --git a/arch/powerpc/configs/powernv_defconfig b/arch/powerpc/configs/powernv_defconfig index 9e92aa6a52ba..371169362683 100644 --- a/arch/powerpc/configs/powernv_defconfig +++ b/arch/powerpc/configs/powernv_defconfig @@ -38,7 +38,9 @@ CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_PARTITION_ADVANCED=y +CONFIG_SCOM_DEBUGFS=y CONFIG_OPAL_PRD=y +CONFIG_PPC_MEMTRACE=y # CONFIG_PPC_PSERIES is not set # CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y @@ -54,7 +56,10 @@ CONFIG_NUMA=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_KSM=y +CONFIG_MEMORY_FAILURE=y +CONFIG_HWPOISON_INJECT=m CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_DEFERRED_STRUCT_PAGE_INIT=y CONFIG_PPC_64K_PAGES=y CONFIG_PPC_SUBPAGE_PROT=y CONFIG_SCHED_SMT=y @@ -72,7 +77,13 @@ CONFIG_SYN_COOKIES=y CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m -# CONFIG_IPV6 is not set +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +CONFIG_IPV6_SIT=m CONFIG_NETFILTER=y # CONFIG_NETFILTER_ADVANCED is not set CONFIG_BRIDGE=m @@ -81,33 +92,28 @@ CONFIG_NET_SCHED=y CONFIG_NET_CLS_BPF=m CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_BPF=m +CONFIG_DNS_RESOLVER=y CONFIG_BPF_JIT=y +# CONFIG_WIRELESS is not set CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_MTD=y CONFIG_MTD_BLOCK=y CONFIG_MTD_POWERNV_FLASH=y -CONFIG_PARPORT=m -CONFIG_PARPORT_PC=m -CONFIG_BLK_DEV_FD=m CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM=m CONFIG_BLK_DEV_RAM_SIZE=65536 -CONFIG_VIRTIO_BLK=m CONFIG_BLK_DEV_NVME=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_AMD74XX=y CONFIG_BLK_DEV_SD=y CONFIG_CHR_DEV_ST=m -CONFIG_BLK_DEV_SR=y +CONFIG_BLK_DEV_SR=m CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_CHR_DEV_SG=y +CONFIG_CHR_DEV_SG=m CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_FC_ATTRS=y +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_FC_ATTRS=m CONFIG_SCSI_SRP_ATTRS=y CONFIG_SCSI_CXGB3_ISCSI=m CONFIG_SCSI_CXGB4_ISCSI=m @@ -121,7 +127,6 @@ CONFIG_SCSI_IPR=y CONFIG_SCSI_QLA_FC=m CONFIG_SCSI_QLA_ISCSI=m CONFIG_SCSI_LPFC=m -CONFIG_SCSI_VIRTIO=m CONFIG_SCSI_DH=y CONFIG_SCSI_DH_RDAC=m CONFIG_SCSI_DH_ALUA=m @@ -152,16 +157,16 @@ CONFIG_DUMMY=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m CONFIG_VXLAN=m -CONFIG_NETCONSOLE=y +CONFIG_NETCONSOLE=m CONFIG_TUN=m CONFIG_VETH=m -CONFIG_VIRTIO_NET=m CONFIG_VORTEX=m CONFIG_ACENIC=m CONFIG_ACENIC_OMIT_TIGON_I=y CONFIG_PCNET32=m CONFIG_TIGON3=y CONFIG_BNX2X=m +# CONFIG_CAVIUM_PTP is not set CONFIG_CHELSIO_T1=m CONFIG_BE2NET=m CONFIG_S2IO=m @@ -172,46 +177,62 @@ CONFIG_IXGB=m CONFIG_IXGBE=m CONFIG_I40E=m CONFIG_MLX4_EN=m +CONFIG_MLX5_CORE=m +CONFIG_MLX5_FPGA=y +CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_IPOIB=y CONFIG_MYRI10GE=m CONFIG_QLGE=m CONFIG_NETXEN_NIC=m -CONFIG_PPP=m -CONFIG_PPP_BSDCOMP=m -CONFIG_PPP_DEFLATE=m -CONFIG_PPPOE=m -CONFIG_PPP_ASYNC=m -CONFIG_PPP_SYNC_TTY=m +CONFIG_USB_NET_DRIVERS=m +# CONFIG_WLAN is not set CONFIG_INPUT_EVDEV=m -CONFIG_INPUT_MISC=y -# CONFIG_SERIO_SERPORT is not set +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO is not set +# CONFIG_LEGACY_PTYS is not set CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_PCI=m CONFIG_SERIAL_JSM=m -CONFIG_VIRTIO_CONSOLE=m CONFIG_IPMI_HANDLER=y CONFIG_IPMI_DEVICE_INTERFACE=y CONFIG_IPMI_POWERNV=y -CONFIG_RAW_DRIVER=y -CONFIG_MAX_RAW_DEVS=1024 +# CONFIG_DEVPORT is not set CONFIG_I2C_CHARDEV=y +# CONFIG_PTP_1588_CLOCK is not set CONFIG_DRM=y CONFIG_DRM_AST=y CONFIG_FIRMWARE_EDID=y CONFIG_FB_OF=y -CONFIG_FB_MATROX=y +CONFIG_FB_MATROX=m CONFIG_FB_MATROX_MILLENIUM=y CONFIG_FB_MATROX_MYSTIQUE=y CONFIG_FB_MATROX_G=y -CONFIG_FB_RADEON=y -CONFIG_FB_IBM_GXT4500=y +CONFIG_FB_RADEON=m +CONFIG_FB_IBM_GXT4500=m CONFIG_LCD_PLATFORM=m +CONFIG_BACKLIGHT_GENERIC=m # CONFIG_VGA_CONSOLE is not set CONFIG_LOGO=y -CONFIG_HID_GYRATION=y -CONFIG_HID_PANTHERLORD=y -CONFIG_HID_PETALYNX=y -CONFIG_HID_SAMSUNG=y -CONFIG_HID_SUNPLUS=y +CONFIG_HID_A4TECH=m +CONFIG_HID_APPLE=m +CONFIG_HID_BELKIN=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_EZKEY=m +CONFIG_HID_GYRATION=m +CONFIG_HID_ITE=m +CONFIG_HID_KENSINGTON=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_PANTHERLORD=m +CONFIG_HID_PETALYNX=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SUNPLUS=m +CONFIG_USB_HID=m CONFIG_USB_HIDDEV=y CONFIG_USB=y CONFIG_USB_MON=m @@ -219,6 +240,7 @@ CONFIG_USB_XHCI_HCD=y CONFIG_USB_EHCI_HCD=y # CONFIG_USB_EHCI_HCD_PPC_OF is not set CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=m CONFIG_USB_STORAGE=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=m @@ -236,8 +258,7 @@ CONFIG_INFINIBAND_SRP=m CONFIG_INFINIBAND_ISER=m CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_GENERIC=y -CONFIG_VIRTIO_PCI=m -CONFIG_VIRTIO_BALLOON=m +# CONFIG_VIRTIO_MENU is not set CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y @@ -253,12 +274,13 @@ CONFIG_XFS_POSIX_ACL=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_NILFS2_FS=m +CONFIG_FANOTIFY=y CONFIG_AUTOFS4_FS=m CONFIG_FUSE_FS=m CONFIG_OVERLAY_FS=m CONFIG_ISO9660_FS=y CONFIG_UDF_FS=m -CONFIG_MSDOS_FS=y +CONFIG_MSDOS_FS=m CONFIG_VFAT_FS=m CONFIG_PROC_KCORE=y CONFIG_TMPFS=y @@ -270,9 +292,9 @@ CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y CONFIG_PSTORE=y -CONFIG_NFS_FS=y +CONFIG_NFS_FS=m CONFIG_NFS_V3_ACL=y -CONFIG_NFS_V4=y +CONFIG_NFS_V4=m CONFIG_NFSD=m CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y @@ -291,9 +313,7 @@ CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_SOFTLOCKUP_DETECTOR=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_LATENCYTOP=y -CONFIG_FTRACE=y CONFIG_FUNCTION_TRACER=y -CONFIG_FUNCTION_GRAPH_TRACER=y CONFIG_SCHED_TRACER=y CONFIG_FTRACE_SYSCALLS=y CONFIG_BLK_DEV_IO_TRACE=y @@ -303,7 +323,6 @@ CONFIG_FTR_FIXUP_SELFTEST=y CONFIG_MSI_BITMAP_SELFTEST=y CONFIG_XMON=y CONFIG_CRYPTO_TEST=m -CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_CRC32C_VPMSUM=m
For consideration: * Add IPv6 support built in + additional modules - Because it's 2018 maan. * Add DEFERRED_STRUCT_PAGE_INIT - Let's see what breaks. * Add PPC_MEMTRACE - Small powernv debugfs driver for getting hardware traces. * Add MEMORY_FAILURE - Machine check exceptions can now drive memory failure. * Turn on FANOTIFY - This is the current filesystem notification feature. * Turn on SCOM_DEBUGFS - Handy for hardware/firmware debugging, security risk? * Turn on async SCSI scanning - Let's see what breaks. * Make a bunch of USB hid drivers modules. * Make SCSI SG, SR, and FC modules - FC is huge. * Make video drivers (except AST GPU) modules - Also huge. * Add MLX5 driver as a module - Popular demand. * Make PCI serial driver a module - Uncommon? * Get rid of /dev/port - Not used. * Remove legacy BSD ttys - Long dead. * Remove IDE - Deprecated and replaced with ATA. * Remove WIRELESS - Until we get POWER9 laptops. * Remove RAW - Long deprecated in favour of direct IO. * Remove floppy, parport, and PS2 input devices - not supported. * Remove virtio drivers, ballooning - We're host only. * Remove PPP - Sorry Paulus. * Make more things modules, NFS FS, RAM disk, netconsole, MS-DOS fs. This does not disable FTRACE options, that's just an optimisation the defconfig target made. make powernv_defconfig adds those to .config. This results in a significantly smaller vmlinux: text data bss dec hex filename 13121779 5284224 1383776 19789779 12df7d3 vmlinux 12126273 4771930 1341464 18239667 11650b3 vmlinux Signed-off-by: Nicholas Piggin <npiggin@gmail.com> --- Changes since v1: - Imagine the "I have no idea what I'm doing" scientist dog meme. arch/powerpc/configs/powernv_defconfig | 105 +++++++++++++++---------- 1 file changed, 62 insertions(+), 43 deletions(-)