Am 10.01.2015 um 19:11 schrieb Toralf Förster:
> On 01/10/2015 06:45 PM, Richard Weinberger wrote:
>> Am 10.01.2015 um 18:37 schrieb Toralf Förster:
>>> On 01/10/2015 06:25 PM, Richard Weinberger wrote:
>>>> Am 10.01.2015 um 17:08 schrieb Toralf Förster:
>>>>> yes, it never worked with values above 2026M (tested at an old ThinkPad 
>>>>> T420, running a 32 bit Gentoo Linux with host kernel 3.17.4 ) 
>>>>
>>>> The theoretical max. was always 2GiB due to the limited address space on 
>>>> ia32.
>>>> 2GiB - UML binary - ASLR overhead/padding is what you can use.
>>>> But the "write: File too large" issue is something new. I bet it origins 
>>>> from tmpfs or shm on the host side.
>>>>
>>>> Thanks,
>>>> //richard
>>>>
>>> Well, I already had explicitly to define the mount, b/c Gentoo's default is 
>>> "noexec":
>>>
>>> tfoerste@n22 ~ $ mount | grep shm
>>> shm on /dev/shm type tmpfs (rw,nosuid,nodev,relatime)
>>
>> Can it carry a 2GiB file?
>>
> 
> Ick, good hint, I set now the size to 3 GB :
> tfoerste@t44 ~ $ ssh tfoerste@n22 grep shm /etc/fstab 
> shm                     /dev/shm        tmpfs           nodev,nosuid,size=3G 
> 
> and tried after re-mounting with 2026M, but got :
> 
> $ start_uml.sh -r trinity                
> + /home/tfoerste/devel/linux/linux earlyprintk 
> ubda=/home/tfoerste/virtual/uml/trinity ubdb=/mnt/ramdisk/trinity_swap 
> eth0=tuntap,tap0,72:ef:3d:9f:c3:5a mem=2026M con0=fd:0,fd:1 con=pts 
> umid=uml_trinity rootfstype=ext4 softlockup_all_cpu_backtrace=1
> Locating the bottom of the address space ... 0x1000
> Locating the top of the address space ... 0xc0000000
> Core dump limits :
>         soft - 0
>         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...none found
> Checking if /dev/shm is on tmpfs...OK
> Checking PROT_EXEC mmap in /dev/shm...OK
> Checking for the skas3 patch in the host:
>   - /proc/mm...not found: No such file or directory
>   - PTRACE_FAULTINFO...not found
>   - PTRACE_LDT...not found
> UML running in SKAS0 mode
> Adding 13238272 bytes to physical memory to account for exec-shield gap
> Kernel virtual memory size shrunk to 944766976 bytes

UML seems only be to able to use 901MiB.

> /home/tfoerste/workspace/bin/start_uml.sh: line 115:  4195 Segmentation fault 
>      $LINUX earlyprintk ubda=$ROOTFS ubdb=$SWAP eth0=$NET mem=$MEM $TTY 
> umid=uml_$NAME rootfstype=ext4 "$ARGS"
> + RC=139
> + set +x
> 
> 
> Nevertheless I tried again, it worked now. The limit is now 2031M as far as I 
> can tell.

Above you wrote 2026MiB?!
Does it work or not? /me us confused.

BTW: Due to ASLR the limit will be still fuzzy.
We definitely need to add more tests into UML to detect too small tmpfs mounts.

Thanks,
//richard

------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to