Fixed
Created: Mar 9, 2013
Updated: Dec 3, 2018
Resolved Date: Dec 31, 2013
Previous ID: LIN5-4983
Found In Version: 6.0
Fix Version: 6.0.0.2
Severity: Severe
Applicable for: Wind River Linux 6
Component/s: Kernel
Problem Description
======================
On fsl-e500mc preempt-rt kernel, the memory size got by free or top is incorrect.
The real memory is 1952M, but the size got by free or top is only 628M.
Test on fsl-p4080 and fsl-3041d, have same issue.
No this issue on cgl and standard kernel.
And no this issue on fsl-p50xx and intel-xeon-core.
Expected Behavior
======================
Get correct memory size
Observed Behavior
======================
preempt-rt kernel:
root@p3041ds:~# free -m
total used free shared buffers cached
Mem: 682 55 627 0 1 17
-/+ buffers/cache: 36 646
Swap: 0 0 0
root@p3041ds:~# uname -a
Linux p3041ds 3.4.28-rt40-WR5.0.1.0_preempt-rt #1 SMP PREEMPT RT Wed Mar 6 13:30:27 CST 2013 ppc GNU/Linux
root@p3041ds:~#
cgl-kernel:
root@p3041ds:~# free -m
total used free shared buffers cached
Mem: 1952 83 1869 0 2 40
-/+ buffers/cache: 40 1912
Swap: 0 0 0
root@p3041ds:~# uname -a
Linux p3041ds 3.4.28-grsec-WR5.0.1.0_cgl #1 SMP PREEMPT Tue Mar 5 21:23:34 CST 2013 ppc GNU/Linux
root@p3041ds:~#
no workaround
1. Build two project, one is cgl kernel, one is preempt-rt kernel
configure --enable-board=fsl-e500mc --enable-kernel=cgl --enable-rootfs=glibc_std --enable-parallel-pkgbuilds=8 --enable-jobs=8
make all
configure --enable-board=fsl-e500mc --enable-kernel=preempt-rt --enable-rootfs=glibc_std --enable-parallel-pkgbuilds=8 --enable-jobs=8
make all
2. Boot up target and check the memory size with free or top.