On 13/02/17 at 03:47, Dan Milon wrote: > Yes, CPU matters apparently. I got hit by this badly. > > I traced the chain of calls into the kernel, and apparently this has to > do with fpu related features. > you have to set eagerfpu=off in your kernel boot options. Also note that > there is a 6 options limit. Any option after the 6th will be ignored.
This is a sad news. Anyway, with this option I have the same problem. To make everything worse, I though my system was running with my patch, but in reality no xterm is opened and the guest systemd is reporting a lot of errors. Proof of eagerfpu disabled in the host: [ 0.000000] Linux version 4.9.8-1-ARCH (builduser@tobias) (gcc version 6.3.1 20170109 (GCC) ) #1 SMP PREEMPT Mon Feb 6 12:59:40 CET 2017 [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-linux eagerfpu=off root=UUID=ba5db090-54da-4c66-b75d-51e7047f38f7 rw quiet [ 0.000000] x86/fpu: eagerfpu switching disabled, disabling the following xstate features: 0x18. [ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers' [ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers' [ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers' [ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256 [ 0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'compacted' format. [ 0.000000] x86/fpu: Using 'lazy' FPU context switches. My patch leads to the following: Core dump limits : soft - NONE hard - NONE Checking that ptrace can change system call numbers...OK Checking syscall emulation patch for ptrace...OK Checking advanced syscall emulation patch for ptrace...OK Checking environment variables for a tempdir.../tmp/nat Checking if /tmp/nat is on tmpfs...OK Checking PROT_EXEC mmap in /tmp/nat...OK Adding 26710016 bytes to physical memory to account for exec-shield gap Linux version 4.10.0-rc8-uml-00205-g7089db84e356-dirty (nat@judith) (gcc version 6.3.1 20170109 (GCC) ) #19 Mon Feb 13 16:32:53 CET 2017 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 135443 Kernel command line: mem=512M ubd0=/home/nat/Work/Linux_UML/fs/fs.ext4 root=98:0 PID hash table entries: 4096 (order: 3, 32768 bytes) Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes) Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) Memory: 509592K/550372K available (2647K kernel code, 697K rwdata, 772K rodata, 111K init, 171K bss, 40780K reserved, 0K cma-reserved) NR_IRQS:15 clocksource: timer: mask: 0xffffffffffffffff max_cycles: 0x1cd42e205, max_idle_ns: 881590404426 ns Calibrating delay loop... 6955.82 BogoMIPS (lpj=34779136) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 2048 (order: 2, 16384 bytes) Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes) Checking that host ptys support output SIGIO...Yes Checking that host ptys support SIGIO on close...No, enabling workaround devtmpfs: initialized Using 2.6 host AIO clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns NET: Registered protocol family 16 clocksource: Switched to clocksource timer VFS: Disk quotas dquot_6.6.0 VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) NET: Registered protocol family 2 TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 4, 65536 bytes) TCP: Hash tables configured (established 8192 bind 8192) UDP hash table entries: 512 (order: 2, 16384 bytes) UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) NET: Registered protocol family 1 console [stderr0] disabled mconsole (version 2) initialized on /home/nat/.uml/cbj73V/mconsole Checking host MADV_REMOVE support...OK futex hash table entries: 256 (order: 0, 6144 bytes) workingset: timestamp_bits=46 max_order=17 bucket_order=0 Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254) io scheduler noop registered io scheduler deadline registered (default) NET: Registered protocol family 17 Initialized stdio console driver Console initialized on /dev/tty0 console [tty0] enabled Initializing software serial port version 1 console [mc-1] enabled EXT4-fs (ubda): couldn't mount as ext3 due to feature incompatibilities EXT4-fs (ubda): couldn't mount as ext2 due to feature incompatibilities EXT4-fs (ubda): INFO: recovery required on readonly filesystem EXT4-fs (ubda): write access will be enabled during recovery EXT4-fs (ubda): recovery complete EXT4-fs (ubda): mounted filesystem with ordered data mode. Opts: (null) VFS: Mounted root (ext4 filesystem) readonly on device 98:0. devtmpfs: mounted This architecture does not have kernel memory protection. random: fast init done systemd[1]: systemd 232 running in system mode. (+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN) systemd[1]: Detected virtualization uml. systemd[1]: Detected architecture x86-64. Welcome to Arch Linux! systemd[1]: No hostname configured. systemd[1]: Set hostname to <localhost>. systemd[1]: Failed to enable kbrequest handling: Inappropriate ioctl for device systemd[1]: Started Forward Password Requests to Wall Directory Watch. [ OK ] Started Forward Password Requests to Wall Directory Watch. systemd[1]: Reached target Remote File Systems. [ OK ] Reached target Remote File Systems. systemd[1]: Started Dispatch Password Requests to Console Directory Watch. [ OK ] Started Dispatch Password Requests to Console Directory Watch. systemd[1]: Reached target Paths. [ OK ] Reached target Paths. [ OK ] Listening on udev Kernel Socket. [ OK ] Reached target Swap. [ OK ] Created slice System Slice. Mounting Temporary Directory... [ OK ] Listening on Journal Socket (/dev/log). [ OK ] Set up automount Arbitrary Executable File Formats File System Automount Point. [ OK ] Listening on Process Core Dump Socket. [ OK ] Created slice system-getty.slice. Mounting POSIX Message Queue File System... [ OK ] Listening on LVM2 metadata daemon socket. [ OK ] Listening on Journal Socket. Starting Apply Kernel Variables... Starting Journal Service... Starting Remount Root and Kernel File Systems... [ OK ] Listening on Device-mapper event daemon FIFOs. [ OK ] Created slice User and Session Slice. [ OK ] Reached target Slices. [ OK ] Listening on udev Control Socket. [ OK ] Reached target Encrypted Volumes. [ OK ] Listening on /dev/initctl Compatibility Named Pipe. [ OK ] Mounted Temporary Directory. [ OK ] Mounted POSIX Message Queue File System. [ OK ] Started Apply Kernel Variables. [ OK ] Started Remount Root and Kernel File Systems. Starting udev Coldplug all Devices... Starting Load/Save Random Seed... Starting Create Static Device Nodes in /dev... [ OK ] Started Journal Service. Starting Flush Journal to Persistent Storage... [ OK ] Started Create Static Device Nodes in /dev. [ OK ] Reached target Local File Systems (Pre). [ OK ] Reached target Local File Systems. Starting udev Kernel Device Manager... [ OK ] Started Load/Save Random Seed. [ OK ] Started udev Kernel Device Manager. systemd-journald[42]: Received request to flush runtime journal from PID 1 [ OK ] Started Flush Journal to Persistent Storage. Starting Create Volatile Files and Directories... [ OK ] Started udev Coldplug all Devices. [FAILED] Failed to start Create Volatile Files and Directories. See 'systemctl status systemd-tmpfiles-setup.service' for details. Starting Update UTMP about System Boot/Shutdown... [FAILED] Failed to start Update UTMP about System Boot/Shutdown. See 'systemctl status systemd-update-utmp.service' for details. [ OK ] Reached target System Initialization. [ OK ] Started Daily verification of password and group files. [ OK ] Started Daily rotation of log files. [ OK ] Started Daily man-db cache update. [ OK ] Started Daily Cleanup of Temporary Directories. [ OK ] Reached target Timers. [ OK ] Listening on D-Bus System Message Bus Socket. [ OK ] Reached target Sockets. [ OK ] Reached target Basic System. Starting Permit User Sessions... Starting Login Service... [ OK ] Started D-Bus System Message Bus. [ OK ] Started Permit User Sessions. [ OK ] Started Getty on tty1. [ OK ] Reached target Login Prompts. [ OK ] Started Login Service. [ OK ] Reached target Multi-User System. Virtual console 1 assigned device '/dev/pts/4' Virtual console 6 assigned device '/dev/pts/5' .. and then nothing more, I need to close the console and to manually kill the processes. Nat ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ User-mode-linux-user mailing list User-mode-linux-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user