On Thu, 17 Oct 2024 13:32:43 +0100 Ryan Roberts <ryan.roberts@xxxxxxx> wrote: > On 17/10/2024 13:27, Petr Tesarik wrote: > > On Mon, 14 Oct 2024 11:55:11 +0100 > > Ryan Roberts <ryan.roberts@xxxxxxx> wrote: > > > >> [...] > >> The series is arranged as follows: > >> > >> - patch 1: Add macros required for converting non-arch code to support > >> boot-time page size selection > >> - patches 2-36: Remove PAGE_SIZE compile-time constant assumption from all > >> non-arch code > > > > I have just tried to recompile the openSUSE kernel with these patches > > applied, and I'm running into this: > > > > CC arch/arm64/hyperv/hv_core.o > > In file included from ../arch/arm64/hyperv/hv_core.c:14:0: > > ../include/linux/hyperv.h:158:5: error: variably modified ‘reserved2’ at file scope > > u8 reserved2[PAGE_SIZE - 68]; > > ^~~~~~~~~ > > > > It looks like one more place which needs a patch, right? > > As mentioned in the cover letter, so far I've only converted enough to get the > defconfig *image* building (i.e. no modules). If you are compiling a different > config or compiling the modules for defconfig, you will likely run into these > types of issues. > > That said, I do have some patches to fix Hyper-V, which Michael Kelley was kind > enough to send me. > > I understand that Suse might be able to help with wider performance testing - if > that's the reason you are trying to compile, you could send me your config and > I'll start working on fixing up other drivers? You're right, performance testing is my goal. Heh, the openSUSE master config is cranked up to max. ;-) That would be a lot of work, and we don't need all those options for running our test suite. Let me disable the conflicting options instead. For reference, here's a long (yet incomplete) list of kernel options that conflict with this v1 patch series: # already handled by Michael CONFIG_HYPERV # sorry, Windows CONFIG_CIFS CONFIG_NTFS3_FS # no, not even with ntfs-3g CONFIG_FUSE_FS # bye-bye ZSWAP CONFIG_ZBUD CONFIG_Z3FOLD CONFIG_ZSMALLOC # ah, also bye-bye ZRAM # who needs redundancy? CONFIG_DM_RAID CONFIG_MD_RAID1 CONFIG_MD_RAID456 CONFIG_MD_RAID10 # who needs security? CONFIG_SECURITY_SELINUX # or integrity? CONFIG_IMA CONFIG_DM_INTEGRITY # or even crypto (this disables A LOT of stuff)... CONFIG_CRYPTO_MANAGER2 # meh... CONFIG_ARM_SMMU_V3_SVA CONFIG_ACPI_NFIT CONFIG_DEV_DAX_PMEM CONFIG_NVDIMM CONFIG_MTD_SWAP CONFIG_MLXBF_PMC CONFIG_THUNDERX2_PMU CONFIG_LKDTM CONFIG_VMWARE_VMCI CONFIG_HT16K33 CONFIG_FB_TFT_HX8340BN CONFIG_FB_TFT_ILI9341 CONFIG_DVB_FIREDTV CONFIG_DVB_PT3 CONFIG_VIDEO_ET8EK8 CONFIG_VIDEO_IVTV CONFIG_VIDEO_SAA7164 CONFIG_DRM_AMDGPU CONFIG_DRM_POWERVR CONFIG_DRM_QXL CONFIG_DRM_RADEON CONFIG_DRM_VMWGFX CONFIG_FIREWIRE_OHCI CONFIG_SND_SEQ_MIDI CONFIG_SND_DARLA20 CONFIG_SND_GINA20 CONFIG_SND_LAYLA20 CONFIG_SND_DARLA24 CONFIG_SND_DARLA24 CONFIG_SND_GINA24 CONFIG_SND_MONA CONFIG_SND_MIA CONFIG_SND_ECHO3G CONFIG_SND_INDIGO CONFIG_SND_INDIGOIO CONFIG_SND_INDIGODJ CONFIG_SND_INDIGOIOX CONFIG_SND_INDIGODJX CONFIG_SND_BCM63XX_I2S_WHISTLER CONFIG_SND_SOC_SOF CONFIG_SND_SOC_SPRD CONFIG_SND_SOC_STM32_SAI CONFIG_SND_SOC_STM32_I2S CONFIG_SND_SOC_STM32_SPDIFRX CONFIG_SND_SOC_STM32_DFSDM CONFIG_SND_SOC_TEGRA CONFIG_SND_SOC_CROS_EC_CODEC CONFIG_SND_SOC_RT5514_SPI CONFIG_SND_USB_UA101 CONFIG_USB_F_PHONET CONFIG_USB_F_TCM CONFIG_SPI_LOOPBACK_TEST CONFIG_W1 CONFIG_RDS CONFIG_TIPC CONFIG_TCP_SIGPOOL CONFIG_OPENVSWITCH CONFIG_NIU CONFIG_QED_SRIOV CONFIG_SFC CONFIG_SFC_FALCON CONFIG_SFC_SIENA CONFIG_TSNEP CONFIG_LIBERTAS CONFIG_LOOPBACK_TARGET CONFIG_SUNRPC_XPRT_RDMA CONFIG_INFINIBAND_HNS CONFIG_INFINIBAND_IPOIB CONFIG_INFINIBAND_EFA CONFIG_INFINIBAND_MTHCA CONFIG_MLX4_CORE CONFIG_MLX4_INFINIBAND CONFIG_MLX5_CORE CONFIG_MLX5_INFINIBAND CONFIG_MLX5_VDPA_NET CONFIG_MLX5_VFIO_PCI CONFIG_ISCSI_TCP CONFIG_SCSI_CXGB3_ISCSI CONFIG_SCSI_CXGB4_ISCSI CONFIG_SCSI_DC395x CONFIG_SCSI_DMX3191D CONFIG_SCSI_FDOMAIN CONFIG_SCSI_MVUMI CONFIG_SCSI_STEX CONFIG_SCSI_SYM53C8XX_2 CONFIG_CDROM_PKTCDVD CONFIG_AFS_FS CONFIG_BCACHE CONFIG_BCACHEFS_FS CONFIG_CEPH_FS CONFIG_DLM CONFIG_BLK_DEV_NULL_BLK CONFIG_BLK_DEV_DRBD CONFIG_BLK_DEV_RBD CONFIG_OCFS2_FS CONFIG_CRAMFS CONFIG_EROFS_FS CONFIG_ECRYPT_FS CONFIG_F2FS_FS CONFIG_ZISOFS CONFIG_NFS_V3_ACL # would be nice to have... CONFIG_NFSD_V4 CONFIG_SUNRPC_BACKCHANNEL # required by CONFIG_NFS_V4_1 CONFIG_MMC CONFIG_NVME_CORE CONFIG_NVMEM # required by CONFIG_USB4 CONFIG_USB_UAS CONFIG_BLK_DEV_DM # ...but this is kind of really necessary CONFIG_BTRFS_FS After disabling all the above and exporting ptg_page_shift, the tumbleweed kernel builds. TBH I expected more broken things. Great success! ;-) I'll see if I can do something about btrfs. Then I can try to boot the kernel... Petr T