fs/namespace.c:2290:1: error: unknown type name 'atomic64_t'
Subsystems (2)
PATCH 80/99 fs/namespace.c:2290:1: error: unknown type name 'atomic64_t'
Hi Geert,
This is the build error I get, on Eric's userns tree.
tree: git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git userns-always-map-user-v45 head: 38a0b1b84f5f613ff4e01fffda27f87d4cb2b649 commit: 5ea9fc30545b658380d4794340227fe821b83701 [80/99] vfs: Add setns support for the mount namespace config: m68k-m5475evb_defconfig (attached as .config)
All related error/warning messages:
fs/namespace.c:2290:1: error: unknown type name 'atomic64_t'fs/namespace.c:2290:1: error: implicit declaration of function 'ATOMIC64_INIT' [-Werror=implicit-function-declaration] fs/namespace.c:2290:1: error: initializer element is not constantfs/namespace.c: In function 'alloc_mnt_ns':fs/namespace.c:2299:2: error: implicit declaration of function 'atomic64_add_return' [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
vim +2290 fs/namespace.c
2287 * number incrementing at 10Ghz will take 12,427 years to wrap which
2288 * is effectively never, so we can ignore the possibility.
2289 */
Quoted 1 line
2290 static
atomic64_tmnt_ns_seq=ATOMIC64_INIT(1);
2291
2292 static struct mnt_namespace *alloc_mnt_ns(void)
2293 {
---
0-DAY kernel build testing backend Open Source Technology Centre
Fengguang Wu <[email protected]> Intel Corporation
#
# Automatically generated file; DO NOT EDIT.
# Linux/m68k 3.6.0-rc1 Kernel Configuration
#CONFIG_M68K=yCONFIG_RWSEM_GENERIC_SPINLOCK=y CONFIG_GENERIC_GPIO=yCONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_GENERIC_CSUM=yCONFIG_TIME_LOW_RES=yCONFIG_NO_IOPORT=y
# CONFIG_NO_DMA is not setCONFIG_ZONE_DMA=yCONFIG_CPU_HAS_NO_BITFIELDS=y CONFIG_CPU_HAS_NO_MULDIV64=yCONFIG_FPU=yCONFIG_HZ=100 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
#
# General setup
#CONFIG_EXPERIMENTAL=yCONFIG_BROKEN_ON_SMP=yCONFIG_INIT_ENV_ARG_LIMIT=32CONFIG_CROSS_COMPILE=""CONFIG_LOCALVERSION=""CONFIG_LOCALVERSION_AUTO=yCONFIG_DEFAULT_HOSTNAME="(none)"
# CONFIG_SWAP is not set
# CONFIG_SYSVIPC is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_FHANDLE is not setCONFIG_HAVE_GENERIC_HARDIRQS=y
#
# IRQ subsystem
#CONFIG_GENERIC_HARDIRQS=yCONFIG_GENERIC_IRQ_SHOW=y
#
# RCU Subsystem
#CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not setCONFIG_LOG_BUF_SHIFT=14
# CONFIG_CHECKPOINT_RESTORE is not set
# CONFIG_NAMESPACES is not set
# CONFIG_SCHED_AUTOGROUP is not setCONFIG_SYSFS_DEPRECATED=yCONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not setCONFIG_SYSCTL=yCONFIG_EXPERT=yCONFIG_UID16=yCONFIG_SYSCTL_SYSCALL=y
# CONFIG_KALLSYMS is not set
# CONFIG_HOTPLUG is not setCONFIG_PRINTK=yCONFIG_BUG=yCONFIG_ELF_CORE=yCONFIG_BASE_FULL=y
# CONFIG_FUTEX is not set
# CONFIG_EPOLL is not set
# CONFIG_SIGNALFD is not set
# CONFIG_TIMERFD is not set
# CONFIG_EVENTFD is not set
# CONFIG_SHMEM is not set
# CONFIG_AIO is not setCONFIG_EMBEDDED=y
#
# Kernel Performance Events And Counters
#CONFIG_VM_EVENT_COUNTERS=yCONFIG_SLUB_DEBUG=yCONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not setCONFIG_SLUB=y
# CONFIG_SLOB is not set
# CONFIG_PROFILING is not setCONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
#
# GCOV-based kernel profiling
#
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not setCONFIG_SLABINFO=yCONFIG_BASE_SMALL=0CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
# CONFIG_MODULE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not setCONFIG_BLOCK=y
# CONFIG_LBDAF is not set
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_BSGLIB is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not setCONFIG_MSDOS_PARTITION=y
#
# IO Schedulers
#CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set CONFIG_DEFAULT_NOOP=y CONFIG_DEFAULT_IOSCHED="noop"
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set # CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set # CONFIG_INLINE_SPIN_UNLOCK_BH is not set CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set CONFIG_INLINE_READ_UNLOCK=y
# CONFIG_INLINE_READ_UNLOCK_BH is not set CONFIG_INLINE_READ_UNLOCK_IRQ=y
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set CONFIG_INLINE_WRITE_UNLOCK=y
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set # CONFIG_MUTEX_SPIN_ON_OWNER is not set
# CONFIG_FREEZER is not setCONFIG_MMU=yCONFIG_MMU_COLDFIRE=y
#
# Platform setup
#
#
# Processor Type
#
# CONFIG_M68KCLASSIC is not setCONFIG_COLDFIRE=y
CONFIG_M54xx=y
CONFIG_M547x=y
# CONFIG_M548x is not set
#
# Processor Specific Options
#
# CONFIG_M68KFPU_EMU is not set
# CONFIG_ADVANCED is not setCONFIG_ARCH_DISCONTIGMEM_ENABLE=yCONFIG_NODES_SHIFT=3CONFIG_HAVE_CACHE_CB=yCONFIG_HAVE_MBAR=yCONFIG_CLOCK_SET=yCONFIG_CLOCK_FREQ=266000000CONFIG_CACHE_WRITETHRU=y
# CONFIG_CACHE_COPYBACK is not set
#
# Machine Types
#
# CONFIG_FIREBEE is not set
#
# Machine Options
#
# CONFIG_UBOOT is not set
# CONFIG_4KSTACKS is not set
#
# RAM configuration
#CONFIG_RAMBASE=0x0CONFIG_RAMSIZE=0x2000000CONFIG_VECTORBASE=0x0CONFIG_MBAR=0xff000000CONFIG_KERNELBASE=0x20000
#
# ROM configuration
#
# CONFIG_ROM is not setCONFIG_RAMKERNEL=y
# CONFIG_ROMKERNEL is not set
#
# Bus Support
#
# CONFIG_GENERIC_ISA_DMA is not set
# CONFIG_PCI is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
#
# Kernel Features
#CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not setCONFIG_SELECT_MEMORY_MODEL=yCONFIG_DISCONTIGMEM_MANUAL=yCONFIG_DISCONTIGMEM=yCONFIG_FLAT_NODE_MEM_MAP=yCONFIG_NEED_MULTIPLE_NODES=yCONFIG_PAGEFLAGS_EXTENDED=yCONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_COMPACTION is not set
# CONFIG_PHYS_ADDR_T_64BIT is not setCONFIG_ZONE_DMA_FLAG=1CONFIG_BOUNCE=yCONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not setCONFIG_DEFAULT_MMAP_MIN_ADDR=4096CONFIG_CROSS_MEMORY_ATTACH=yCONFIG_NEED_PER_CPU_KM=y
# CONFIG_CLEANCACHE is not set
#
# Executable file formats
#CONFIG_BINFMT_ELF=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not setCONFIG_HAVE_AOUT=y
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set
# CONFIG_NET is not set
#
# Device Drivers
#
#
# Generic Driver Options
#CONFIG_STANDALONE=yCONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not setCONFIG_GENERIC_CPU_DEVICES=y
# CONFIG_DMA_SHARED_BUFFER is not setCONFIG_MTD=y
# CONFIG_MTD_TESTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_CMDLINE_PARTS is not set
# CONFIG_MTD_AR7_PARTS is not set
#
# User Modules And Translation Layers
#CONFIG_MTD_CHAR=yCONFIG_MTD_BLKDEVS=yCONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_SM_FTL is not set
# CONFIG_MTD_OOPS is not set
#
# RAM/ROM/Flash chip drivers
#CONFIG_MTD_CFI=yCONFIG_MTD_JEDECPROBE=yCONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not setCONFIG_MTD_MAP_BANK_WIDTH_1=yCONFIG_MTD_MAP_BANK_WIDTH_2=yCONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not setCONFIG_MTD_CFI_I1=yCONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_CFI_INTELEXT is not setCONFIG_MTD_CFI_AMDSTD=y
# CONFIG_MTD_CFI_STAA is not setCONFIG_MTD_CFI_UTIL=yCONFIG_MTD_RAM=y
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not setCONFIG_MTD_PHYSMAP=y
# CONFIG_MTD_PHYSMAP_COMPAT is not set
# CONFIG_MTD_PLATRAM is not set
#
# Self-contained MTD device drivers
#
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLOCK2MTD is not set
#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOCG3 is not set
# CONFIG_MTD_NAND is not set
# CONFIG_MTD_ONENAND is not set
#
# LPDDR flash memory drivers
#
# CONFIG_MTD_LPDDR is not set
# CONFIG_MTD_UBI is not set
# CONFIG_PARPORT is not setCONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set
#
# DRBD disabled because PROC_FS, INET or CONNECTOR not selected #CONFIG_BLK_DEV_RAM=yCONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_BLK_DEV_HD is not set
#
# Misc devices
#
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_C2PORT is not set
#
# EEPROM support
#
# CONFIG_EEPROM_93CX6 is not set
#
# Texas Instruments shared transport line discipline #
#
# Altera FPGA firmware download module
#CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
#
# SCSI device support
#CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
# CONFIG_SCSI is not set
# CONFIG_SCSI_DMA is not set
# CONFIG_SCSI_NETLINK is not set
# CONFIG_MD is not set
#
# Input device support
#
# CONFIG_INPUT is not set
#
# Hardware I/O ports
#CONFIG_SERIO=yCONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_LIBPS2 is not set
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
# CONFIG_VT is not set
# CONFIG_UNIX98_PTYS is not setCONFIG_LEGACY_PTYS=yCONFIG_LEGACY_PTY_COUNT=256
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_TRACE_SINK is not setCONFIG_DEVKMEM=y
#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set
#
# Non-8250 serial port support
#CONFIG_SERIAL_CORE=yCONFIG_SERIAL_CORE_CONSOLE=yCONFIG_SERIAL_MCF=yCONFIG_SERIAL_MCF_BAUDRATE=19200CONFIG_SERIAL_MCF_CONSOLE=y
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_TTY_PRINTK is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_I2C is not set
# CONFIG_SPI is not set
# CONFIG_HSI is not set
#
# PPS support
#
# CONFIG_PPS is not set
#
# PPS generators support
#
#
# PTP clock support
#
#
# Enable Device Drivers -> PPS to see the PTP clock options. #CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
# CONFIG_POWER_AVS is not set
# CONFIG_HWMON is not set
# CONFIG_THERMAL is not set
# CONFIG_WATCHDOG is not setCONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not setCONFIG_BCMA_POSSIBLE=y
#
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set
#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set
#
# Graphics support
#
# CONFIG_DRM is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set
# CONFIG_EXYNOS_VIDEO is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
# CONFIG_SOUND is not set
# CONFIG_USB_ARCH_HAS_OHCI is not set
# CONFIG_USB_ARCH_HAS_EHCI is not set
# CONFIG_USB_ARCH_HAS_XHCI is not setCONFIG_USB_SUPPORT=y
# CONFIG_USB_ARCH_HAS_HCD is not set
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may #
# CONFIG_USB_GADGET is not set
#
# OTG and related infrastructure
#
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
#
# Virtio drivers
#
# CONFIG_VIRTIO_BALLOON is not set
# CONFIG_VIRTIO_MMIO is not set
#
# Microsoft Hyper-V guest support
#
# CONFIG_STAGING is not set
#
# Hardware Spinlock drivers
#
# CONFIG_IOMMU_SUPPORT is not set
#
# Remoteproc drivers (EXPERIMENTAL)
#
#
# Rpmsg drivers (EXPERIMENTAL)
#
# CONFIG_VIRT_DRIVERS is not set
# CONFIG_PM_DEVFREQ is not set
# CONFIG_EXTCON is not set
# CONFIG_MEMORY is not set
# CONFIG_IIO is not set
# CONFIG_PWM is not set
#
# Platform devices
#
# CONFIG_PROC_HARDWARE is not set
#
# Character devices
#
#
# File systems
#CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
# CONFIG_EXT3_FS is not set
# CONFIG_EXT4_FS is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
# CONFIG_FS_POSIX_ACL is not set
# CONFIG_FILE_LOCKING is not set
# CONFIG_FSNOTIFY is not set
# CONFIG_DNOTIFY is not set
# CONFIG_INOTIFY_USER is not set
# CONFIG_FANOTIFY is not set
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
#
# Caches
#
# CONFIG_FSCACHE is not set
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not set CONFIG_PROC_SYSCTL=y
# CONFIG_PROC_PAGE_MONITOR is not set CONFIG_SYSFS=y
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS2_FS is not set
# CONFIG_LOGFS is not set
# CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_MINIX_FS_BIG_ENDIAN_16BIT_INDEXED is not set # CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set CONFIG_ROMFS_FS=y
# CONFIG_ROMFS_BACKED_BY_BLOCK is not set CONFIG_ROMFS_BACKED_BY_MTD=y
# CONFIG_ROMFS_BACKED_BY_BOTH is not set CONFIG_ROMFS_ON_MTD=y
# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_NLS is not set
#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not setCONFIG_DEFAULT_MESSAGE_LOGLEVEL=4CONFIG_ENABLE_WARN_DEPRECATED=yCONFIG_ENABLE_MUST_CHECK=yCONFIG_FRAME_WARN=1024
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_READABLE_ASM is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not setCONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
# CONFIG_LOCKUP_DETECTOR is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
# CONFIG_PANIC_ON_OOPS is not setCONFIG_PANIC_ON_OOPS_VALUE=0
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_SCHED_DEBUG is not set
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_KOBJECT is not setCONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_WRITECOUNT is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_LIST is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set
# CONFIG_FRAME_POINTER is not set
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_SAMPLES is not set
# CONFIG_TEST_KSTRTOX is not setCONFIG_BOOTPARAM=yCONFIG_BOOTPARAM_STRING="root=/dev/mtdblock0"
#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not setCONFIG_DEFAULT_SECURITY_DAC=yCONFIG_DEFAULT_SECURITY=""
# CONFIG_CRYPTO is not set
# CONFIG_BINARY_PRINTF is not set
#
# Library routines
#CONFIG_BITREVERSE=yCONFIG_GENERIC_STRNCPY_FROM_USER=yCONFIG_GENERIC_STRNLEN_USER=yCONFIG_GENERIC_PCI_IOMAP=yCONFIG_GENERIC_IOMAP=yCONFIG_GENERIC_IO=y
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set
# CONFIG_CRC_ITU_T is not setCONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not setCONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
# CONFIG_CRC8 is not set
# CONFIG_XZ_DEC is not set
# CONFIG_XZ_DEC_BCJ is not setCONFIG_HAS_IOMEM=yCONFIG_HAS_DMA=y
# CONFIG_AVERAGE is not set
# CONFIG_CORDIC is not set
# CONFIG_DDR is not set
Quoted 9 lines · Fengguang Wu
Hi Geert,
This is the build error I get, on Eric's userns tree.
tree: git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git userns-always-map-user-v45 head: 38a0b1b84f5f613ff4e01fffda27f87d4cb2b649 commit: 5ea9fc30545b658380d4794340227fe821b83701 [80/99] vfs: Add setns support for the mount namespace config: m68k-m5475evb_defconfig (attached as .config)
Quoted 8 lines
All related error/warning messages:
fs/namespace.c:2290:1: error: unknown type name 'atomic64_t'fs/namespace.c:2290:1: error: implicit declaration of function 'ATOMIC64_INIT' [-Werror=implicit-function-declaration]fs/namespace.c:2290:1: error: initializer element is not constantfs/namespace.c: In function 'alloc_mnt_ns':fs/namespace.c:2299:2: error: implicit declaration of function 'atomic64_add_return' [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
Fengguang is m68k the only place you are seeing build failures?
Exactly how I get a 64bit counter in that code path is not terribly important. I picked an atomic64_t because it looked simple and cheap.
If this is limited to a couple of m68k sub-arches I will let you guys finish fixing this up so people can depend on atomic64_t being available. Otherwise it probably makes sense to go to with a different abstraction.
Quoted 12 lines
vim +2290
fs/namespace.c
2287 * number incrementing at 10Ghz will take 12,427 years to wrap which
2288 * is effectively never, so we can ignore the possibility.
2289 */Quoted 1 line
2290 static
atomic64_tmnt_ns_seq=ATOMIC64_INIT(1);2291
2292 static structmnt_namespace*alloc_mnt_ns(void)
2293 {---
0-DAY kernel build testing backend Open Source Technology Centre
Fengguang Wu <[email protected]> Intel Corporation
Quoted 13 lines · Eric W. Biederman
Quoted 11 lines · Fengguang Wu
Hi Geert,
This is the build error I get, on Eric's userns tree.
tree: git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git userns-always-map-user-v45 head: 38a0b1b84f5f613ff4e01fffda27f87d4cb2b649 commit: 5ea9fc30545b658380d4794340227fe821b83701 [80/99] vfs: Add setns support for the mount namespace config: m68k-m5475evb_defconfig (attached as .config)All related error/warning messages:
Quoted 8 lines
Quoted 6 lines
fs/namespace.c:2290:1: error: unknown type name 'atomic64_t'fs/namespace.c:2290:1: error: implicit declaration of function 'ATOMIC64_INIT' [-Werror=implicit-function-declaration]fs/namespace.c:2290:1: error: initializer element is not constantfs/namespace.c: In function 'alloc_mnt_ns':fs/namespace.c:2299:2: error: implicit declaration of function 'atomic64_add_return' [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errorsFengguang is m68k the only place you are seeing build failures?
Yes.
Quoted 2 lines
Exactly how I get a 64bit counter in that code path is not terribly important. I picked an
atomic64_tbecause it looked simple and cheap.
Fair enough. As long as it's not in hot code path, it definitely helps to use simple solutions.
Quoted 4 lines
If this is limited to a couple of m68k sub-arches I will let you guys finish fixing this up so people can depend on
atomic64_tbeing available. Otherwise it probably makes sense to go to with a different abstraction.
I'd suggest to fix it in m68k and make atomic64_t generally available.
Thanks,
Fengguang
Quoted 37 lines · Fengguang Wu
Quoted 7 lines · Eric W. Biederman
Quoted 5 lines · Fengguang Wu
Hi Geert,
This is the build error I get, on Eric's userns tree.
tree:
git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git
userns-always-map-user-v45Quoted 2 lines
Quoted 2 lines
head: 38a0b1b84f5f613ff4e01fffda27f87d4cb2b649 commit: 5ea9fc30545b658380d4794340227fe821b83701 [80/99] vfs: Addsetns support for the mount namespace
Quoted 6 lines
Quoted 6 lines
config: m68k-m5475evb_defconfig (attached as .config)
All related error/warning messages:
fs/namespace.c:2290:1: error: unknown type name 'atomic64_t'fs/namespace.c:2290:1: error: implicit declaration of function'
ATOMIC64_INIT' [-Werror=implicit-function-declaration]Quoted 3 lines
Quoted 3 lines
fs/namespace.c:2290:1: error: initializer element is not constantfs/namespace.c: In function 'alloc_mnt_ns':fs/namespace.c:2299:2: error: implicit declaration of function'
atomic64_add_return' [-Werror=implicit-function-declaration]Quoted 3 lines
Quoted 1 line
cc1: some warnings being treated as errors
Fengguang is m68k the only place you are seeing build failures?
Yes.
Quoted 2 lines
Exactly how I get a 64bit counter in that code path is not terribly important. I picked an
atomic64_tbecause it looked simple andcheap.
Fair enough. As long as it's not in hot code path, it definitely helps to use simple solutions.
Quoted 7 lines
Quoted 3 lines
If this is limited to a couple of m68k sub-arches I will let you guys finish fixing this up so people can depend on
atomic64_tbeing available. Otherwise it probably makes sense to go to with adifferent
Quoted 1 line
abstraction.
I'd suggest to fix it in m68k and make
atomic64_tgenerally available.
Fengguang in your testing on any architechtures is atomic64_t missing on anything except some m68k subarchtechtures?
Eric
Quoted 3 lines
Quoted 1 line
I'd suggest to fix it in m68k and make
atomic64_tgenerally available.Fengguang in your testing on any architechtures is
atomic64_tmissing on anything except some m68k subarchtechtures?
Eric, it only complaints for m68k, among the architechtures the build tests covered (alpha arm avr32 blackfin cris frv h8300 i386 ia64 m32r m68k mips mn10300 openrisc parisc powerpc s390 sh sparc sparc64 tile um x86_64 xtensa).
Thanks,
Fengguang
Quoted 8 lines · Fengguang Wu
Quoted 3 lines
Quoted 1 line
I'd suggest to fix it in m68k and make
atomic64_tgenerally available.Fengguang in your testing on any architechtures is
atomic64_tmissing on anything except some m68k subarchtechtures?Eric, it only complaints for m68k, among the architechtures the build tests covered (alpha arm avr32 blackfin cris frv h8300 i386 ia64 m32r m68k mips mn10300 openrisc parisc powerpc s390 sh sparc sparc64 tile um
x86_64xtensa).
Sorry, I must missed something (in my system, build errors are only recorded on first sight)..
wfg /c/linux% for arch in arch/*/; do grep -ir -q atomic64 $arch || echo $arch; done arch/c6x/arch/h8300/arch/mn10300/arch/score/arch/unicore32/
So the above archs are likely still missing atomic64_t support. However it should be trivial to add support to them, by adding "select GENERIC_ATOMIC64" lines to them.
Thanks,
Fengguang
Architectures missing atomic64_t
Quoted 20 lines · Fengguang Wu
Quoted 8 lines · Fengguang Wu
Quoted 3 lines
Quoted 1 line
I'd suggest to fix it in m68k and make
atomic64_tgenerally available.Fengguang in your testing on any architechtures is
atomic64_tmissing on anything except some m68k subarchtechtures?Eric, it only complaints for m68k, among the architechtures the build tests covered (alpha arm avr32 blackfin cris frv h8300 i386 ia64 m32r m68k mips mn10300 openrisc parisc powerpc s390 sh sparc sparc64 tile um
x86_64xtensa).Sorry, I must missed something (in my system, build errors are only recorded on first sight)..
wfg /c/linux% for arch in
arch/*/; do grep -ir -q atomic64 $arch || echo $arch; donearch/c6x/arch/h8300/arch/mn10300/arch/score/arch/unicore32/
Quoted 3 lines
So the above archs are likely still missing
atomic64_tsupport. However it should be trivial to add support to them, by adding "selectGENERIC_ATOMIC64" lines to them.
So I just looked a little deeper and it appears architectures that do not support atomic64_t are broken.
The generic atomic64 support came in 2009 to support the perf subsystem with the expectation that all architectures would implement atomic64 support.
Furthermore upon inspection of the kernel atomic64_t is used in a fair number of places beyond the performance counters:block/blk-cgroup.cdrivers/acpi/apei/drivers/block/rbd.cdrivers/crypto/nx/nx.hdrivers/gpu/drm/radeon/radeon.h drivers/infiniband/hw/ipath/drivers/infiniband/hw/qib/drivers/staging/octeon/fs/xfs/include/linux/perf_event.h include/net/netfilter/nf_conntrack_acct.hkernel/events/kernel/trace/net/mac80211/key.hnet/rds/
The block control group, infiniband, xfs, crypto, 802.11, netfilter. Nothing quite so fundamental as fs/namespace.c but definitely in multiplatform-code that should work, and is already broken on those architecutres.
Looking at the implementation of atomic64_add_return in lib/atomic64.c the code looks as efficient as these kinds of things get.
Which leads me to the conclusion that we need atomic64 support on all architectures.
Arch folks can you please take care of your achitectures and ensure that atomic64_t is supported?
Eric
commit 09d4e0edd4614e787393acc582ac701c6ec3565b
Author: Paul Mackerras <[email protected]> Date: Fri Jun 12 21:10:05 2009 +0000
lib: Provide generic atomic64_t implementation
Many processor architectures have no 64-bit atomic instructions, but we need atomic64_t in order to support the perf_counter subsystem.
This adds an implementation of 64-bit atomic operations using hashed spinlocks to provide atomicity. For each atomic operation, the address of the atomic64_t variable is hashed to an index into an array of 16 spinlocks. That spinlock is taken (with interrupts disabled) around the operation, which can then be coded non-atomically within the lock.
On UP, all the spinlock manipulation goes away and we simply disable interrupts around each operation. In fact gcc eliminates the whole atomic64_lock variable as well.
Re: Architectures missing atomic64_t
Quoted 56 lines · Eric W. Biederman
Quoted 20 lines · Fengguang Wu
Quoted 8 lines · Fengguang Wu
Quoted 3 lines
Quoted 1 line
I'd suggest to fix it in m68k and make
atomic64_tgenerally available.Fengguang in your testing on any architechtures is
atomic64_tmissing on anything except some m68k subarchtechtures?Eric, it only complaints for m68k, among the architechtures the build tests covered (alpha arm avr32 blackfin cris frv h8300 i386 ia64 m32r m68k mips mn10300 openrisc parisc powerpc s390 sh sparc sparc64 tile um
x86_64xtensa).Sorry, I must missed something (in my system, build errors are only recorded on first sight)..
wfg /c/linux% for arch in
arch/*/; do grep -ir -q atomic64 $arch || echo $arch; donearch/c6x/arch/h8300/arch/mn10300/arch/score/arch/unicore32/Quoted 3 lines
So the above archs are likely still missing
atomic64_tsupport. However it should be trivial to add support to them, by adding "selectGENERIC_ATOMIC64" lines to them.So I just looked a little deeper and it appears architectures that do not support
atomic64_tare broken.The generic atomic64 support came in 2009 to support the perf subsystem with the expectation that all architectures would implement atomic64 support.
Furthermore upon inspection of the kernel
atomic64_tis used in a fair number of places beyond the performance counters:block/blk-cgroup.cdrivers/acpi/apei/drivers/block/rbd.cdrivers/crypto/nx/nx.hdrivers/gpu/drm/radeon/radeon.hdrivers/infiniband/hw/ipath/drivers/infiniband/hw/qib/drivers/staging/octeon/fs/xfs/include/linux/perf_event.hinclude/net/netfilter/nf_conntrack_acct.hkernel/events/kernel/trace/net/mac80211/key.hnet/rds/The block control group, infiniband, xfs, crypto, 802.11, netfilter. Nothing quite so fundamental as
fs/namespace.cbut definitely in multiplatform-code that should work, and is already broken on those architecutres.
Quoted 5 lines
Looking at the implementation of
atomic64_add_returninlib/atomic64.cthe code looks as efficient as these kinds of things get.Which leads me to the conclusion that we need atomic64 support on all architectures.
Agreed.
Quoted 2 lines
Arch folks can you please take care of your achitectures and ensure that
atomic64_tis supported?
Since I can test h8300 and mn10300, I'll do patches for them.
CC score and unicore32 maintainers.
Thanks,
Fengguang
Quoted 24 lines
Eric
commit
09d4e0edd4614e787393acc582ac701c6ec3565bAuthor: Paul Mackerras <[email protected]> Date: Fri Jun 12 21:10:05 2009 +0000lib: Provide generic
atomic64_timplementationMany processor architectures have no 64-bit atomic instructions, but we need
atomic64_tin order to support theperf_countersubsystem.This adds an implementation of 64-bit atomic operations using hashed spinlocks to provide atomicity. For each atomic operation, the address of the
atomic64_tvariable is hashed to an index into an array of 16 spinlocks. That spinlock is taken (with interrupts disabled) around the operation, which can then be coded non-atomically within the lock.On UP, all the spinlock manipulation goes away and we simply disable interrupts around each operation. In fact gcc eliminates the whole
atomic64_lockvariable as well.Signed-off-by Paul Mackerras <[email protected]>Signed-off-by Benjamin Herrenschmidt <[email protected]>
Re: Architectures missing atomic64_t
In reply to Eric W. BiedermanQuoted 56 lines · Eric W. Biederman
Quoted 20 lines · Fengguang Wu
Quoted 8 lines · Fengguang Wu
Quoted 3 lines
Quoted 1 line
I'd suggest to fix it in m68k and make
atomic64_tgenerally available.Fengguang in your testing on any architechtures is
atomic64_tmissing on anything except some m68k subarchtechtures?Eric, it only complaints for m68k, among the architechtures the build tests covered (alpha arm avr32 blackfin cris frv h8300 i386 ia64 m32r m68k mips mn10300 openrisc parisc powerpc s390 sh sparc sparc64 tile um
x86_64xtensa).Sorry, I must missed something (in my system, build errors are only recorded on first sight)..
wfg /c/linux% for arch in
arch/*/; do grep -ir -q atomic64 $arch || echo $arch; donearch/c6x/arch/h8300/arch/mn10300/arch/score/arch/unicore32/Quoted 3 lines
So the above archs are likely still missing
atomic64_tsupport. However it should be trivial to add support to them, by adding "selectGENERIC_ATOMIC64" lines to them.So I just looked a little deeper and it appears architectures that do not support
atomic64_tare broken.The generic atomic64 support came in 2009 to support the perf subsystem with the expectation that all architectures would implement atomic64 support.
Furthermore upon inspection of the kernel
atomic64_tis used in a fair number of places beyond the performance counters:block/blk-cgroup.cdrivers/acpi/apei/drivers/block/rbd.cdrivers/crypto/nx/nx.hdrivers/gpu/drm/radeon/radeon.hdrivers/infiniband/hw/ipath/drivers/infiniband/hw/qib/drivers/staging/octeon/fs/xfs/include/linux/perf_event.hinclude/net/netfilter/nf_conntrack_acct.hkernel/events/kernel/trace/net/mac80211/key.hnet/rds/The block control group, infiniband, xfs, crypto, 802.11, netfilter. Nothing quite so fundamental as
fs/namespace.cbut definitely in multiplatform-code that should work, and is already broken on those architecutres.
Quoted 5 lines
Looking at the implementation of
atomic64_add_returninlib/atomic64.cthe code looks as efficient as these kinds of things get.Which leads me to the conclusion that we need atomic64 support on all architectures.
Agreed.
Quoted 2 lines
Arch folks can you please take care of your achitectures and ensure that
atomic64_tis supported?
Since I can test h8300 and mn10300, I'll do patches for them.
CC score and unicore32 maintainers.
Thanks,
Fengguang
Quoted 24 lines
Eric
commit
09d4e0edd4614e787393acc582ac701c6ec3565bAuthor: Paul Mackerras <[email protected]> Date: Fri Jun 12 21:10:05 2009 +0000lib: Provide generic
atomic64_timplementationMany processor architectures have no 64-bit atomic instructions, but we need
atomic64_tin order to support theperf_countersubsystem.This adds an implementation of 64-bit atomic operations using hashed spinlocks to provide atomicity. For each atomic operation, the address of the
atomic64_tvariable is hashed to an index into an array of 16 spinlocks. That spinlock is taken (with interrupts disabled) around the operation, which can then be coded non-atomically within the lock.On UP, all the spinlock manipulation goes away and we simply disable interrupts around each operation. In fact gcc eliminates the whole
atomic64_lockvariable as well.Signed-off-by Paul Mackerras <[email protected]>Signed-off-by Benjamin Herrenschmidt <[email protected]>
Architectures missing atomic64_t
In reply to Fengguang WuQuoted 20 lines · Fengguang Wu
Quoted 8 lines · Fengguang Wu
Quoted 3 lines
Quoted 1 line
I'd suggest to fix it in m68k and make
atomic64_tgenerally available.Fengguang in your testing on any architechtures is
atomic64_tmissing on anything except some m68k subarchtechtures?Eric, it only complaints for m68k, among the architechtures the build tests covered (alpha arm avr32 blackfin cris frv h8300 i386 ia64 m32r m68k mips mn10300 openrisc parisc powerpc s390 sh sparc sparc64 tile um
x86_64xtensa).Sorry, I must missed something (in my system, build errors are only recorded on first sight)..
wfg /c/linux% for arch in
arch/*/; do grep -ir -q atomic64 $arch || echo $arch; donearch/c6x/arch/h8300/arch/mn10300/arch/score/arch/unicore32/
Quoted 3 lines
So the above archs are likely still missing
atomic64_tsupport. However it should be trivial to add support to them, by adding "selectGENERIC_ATOMIC64" lines to them.
So I just looked a little deeper and it appears architectures that do not support atomic64_t are broken.
The generic atomic64 support came in 2009 to support the perf subsystem with the expectation that all architectures would implement atomic64 support.
Furthermore upon inspection of the kernel atomic64_t is used in a fair number of places beyond the performance counters:block/blk-cgroup.cdrivers/acpi/apei/drivers/block/rbd.cdrivers/crypto/nx/nx.hdrivers/gpu/drm/radeon/radeon.h drivers/infiniband/hw/ipath/drivers/infiniband/hw/qib/drivers/staging/octeon/fs/xfs/include/linux/perf_event.h include/net/netfilter/nf_conntrack_acct.hkernel/events/kernel/trace/net/mac80211/key.hnet/rds/
The block control group, infiniband, xfs, crypto, 802.11, netfilter. Nothing quite so fundamental as fs/namespace.c but definitely in multiplatform-code that should work, and is already broken on those architecutres.
Looking at the implementation of atomic64_add_return in lib/atomic64.c the code looks as efficient as these kinds of things get.
Which leads me to the conclusion that we need atomic64 support on all architectures.
Arch folks can you please take care of your achitectures and ensure that atomic64_t is supported?
Eric
commit 09d4e0edd4614e787393acc582ac701c6ec3565b
Author: Paul Mackerras <[email protected]> Date: Fri Jun 12 21:10:05 2009 +0000
lib: Provide generic atomic64_t implementation
Many processor architectures have no 64-bit atomic instructions, but we need atomic64_t in order to support the perf_counter subsystem.
This adds an implementation of 64-bit atomic operations using hashed spinlocks to provide atomicity. For each atomic operation, the address of the atomic64_t variable is hashed to an index into an array of 16 spinlocks. That spinlock is taken (with interrupts disabled) around the operation, which can then be coded non-atomically within the lock.
On UP, all the spinlock manipulation goes away and we simply disable interrupts around each operation. In fact gcc eliminates the whole atomic64_lock variable as well.
Quoted 3 lines
Quoted 1 line
I'd suggest to fix it in m68k and make
atomic64_tgenerally available.Fengguang in your testing on any architechtures is
atomic64_tmissing on anything except some m68k subarchtechtures?
Eric, it only complaints for m68k, among the architechtures the build tests covered (alpha arm avr32 blackfin cris frv h8300 i386 ia64 m32r m68k mips mn10300 openrisc parisc powerpc s390 sh sparc sparc64 tile um x86_64 xtensa).
Thanks,
Fengguang
Quoted 9 lines · Fengguang Wu
Hi Geert,
This is the build error I get, on Eric's userns tree.
tree: git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git userns-always-map-user-v45 head: 38a0b1b84f5f613ff4e01fffda27f87d4cb2b649 commit: 5ea9fc30545b658380d4794340227fe821b83701 [80/99] vfs: Add setns support for the mount namespace config: m68k-m5475evb_defconfig (attached as .config)
Quoted 8 lines
All related error/warning messages:
fs/namespace.c:2290:1: error: unknown type name 'atomic64_t'fs/namespace.c:2290:1: error: implicit declaration of function 'ATOMIC64_INIT' [-Werror=implicit-function-declaration]fs/namespace.c:2290:1: error: initializer element is not constantfs/namespace.c: In function 'alloc_mnt_ns':fs/namespace.c:2299:2: error: implicit declaration of function 'atomic64_add_return' [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
Fengguang is m68k the only place you are seeing build failures?
Exactly how I get a 64bit counter in that code path is not terribly important. I picked an atomic64_t because it looked simple and cheap.
If this is limited to a couple of m68k sub-arches I will let you guys finish fixing this up so people can depend on atomic64_t being available. Otherwise it probably makes sense to go to with a different abstraction.
Quoted 12 lines
vim +2290
fs/namespace.c
2287 * number incrementing at 10Ghz will take 12,427 years to wrap which
2288 * is effectively never, so we can ignore the possibility.
2289 */Quoted 1 line
2290 static
atomic64_tmnt_ns_seq=ATOMIC64_INIT(1);2291
2292 static structmnt_namespace*alloc_mnt_ns(void)
2293 {---
0-DAY kernel build testing backend Open Source Technology Centre
Fengguang Wu <[email protected]> Intel Corporation