Why we echo a invalid start_address_of_new_memory succeeded ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am testing mem-hotplug on a qemu virtual machine. I executed the following command
to notify memory hot-add event by hand.

% echo start_address_of_new_memory > /sys/devices/system/memory/probe

To a different start_address_of_new_memory I got different results.
The results are as follows:

MBSC-x86_64 /sys/devices/system/memory # ls
block_size_bytes  memory2           memory5           power
memory0           memory3           memory6           probe
memory1           memory4           memory7           uevent
MBSC-x86_64 /sys/devices/system/memory # echo 0x70000000 > probe
MBSC-x86_64 /sys/devices/system/memory # echo 0x78000000 > probe
-sh: echo: write error: File exists
MBSC-x86_64 /sys/devices/system/memory # echo 0x80000000 > probe
-sh: echo: write error: File exists
MBSC-x86_64 /sys/devices/system/memory # echo 0x88000000 > probe
-sh: echo: write error: File exists
MBSC-x86_64 /sys/devices/system/memory # echo 0x8f000000 > probe
-sh: echo: write error: Invalid argument
MBSC-x86_64 /sys/devices/system/memory # echo 0x90000000 > probe
-sh: echo: write error: File exists
MBSC-x86_64 /sys/devices/system/memory # echo 0xff0000000 > probe
MBSC-x86_64 /sys/devices/system/memory # ls
block_size_bytes  memory2           memory510         probe
memory0           memory3           memory6           uevent
memory1           memory4           memory7
memory14          memory5           power
MBSC-x86_64 /sys/devices/system/memory # echo 0xfff0000000 > probe
MBSC-x86_64 /sys/devices/system/memory # ls
block_size_bytes  memory2           memory510         power
memory0           memory3           memory6           probe
memory1           memory4           memory7           uevent
memory14          memory5           memory8190

The qemu virtual machine's physical memory size is 2048M, and the boot memory is 1024M.

MBSC-x86_64 / # cat /proc/meminfo
MemTotal:        1018356 kB
MBSC-x86_64 / # cat /sys/devices/system/memory/block_size_bytes
8000000

Three questions:
1. The machine's physical memory size is 2048M, why echo 0x78000000 as the start_address_of_new_memory failed ?

2. Why echo 0x8f000000 as the start_address_of_new_memory, the error message is different ?

3. Why echo 0xfff0000000 as the start_address_of_new_memory succeeded ? 0xfff0000000 has exceeded the machine's physical memory size.

Best regards!


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]