[LTP] [PATCH v2] cpuset_memory_spread: set lowerlimit according to pagesize

Richard Palethorpe rpalethorpe@suse.de
Thu Aug 31 10:27:16 CEST 2023


Hello,

Hongchen Zhang <zhanghongchen@loongson.cn> writes:

> Hi Richard,
>
> On 2023/8/30 下午3:45, Richard Palethorpe wrote:
>> Hello,
>> Hongchen Zhang <zhanghongchen@loongson.cn> writes:
>> 
>>> When I test the cpuset_memory_spread case,this case FAIL too often.
>>> After dig into the code, I find out that the fowlloing things trigger
>>> the FAIL:
>>> 1) random events,the probability is very small and can be ignored
>>> 2) get_meminfo which before send signal to test_pid
>>> 3) account_memsinfo before result_check
>>>
>>> About 2) and 3), we can increase the value of lowerlimit to keep
>>> the result as SUCCESS.
>>>
>>> After discussing with Richard, we all agree to use the following
>>> formula to calculate the lowerlimit:
>>> lowerlimit(kb) = pagesize(byte) * 512 / 1024
>>>
>>> Signed-off-by: Hongchen Zhang <zhanghongchen@loongson.cn>
>>> ---
>>>   .../cpuset_memory_spread_testset.sh                    | 10 +++++++++-
>>>   1 file changed, 9 insertions(+), 1 deletion(-)
>>>
>>> diff --git
>>> a/testcases/kernel/controllers/cpuset/cpuset_memory_spread_test/cpuset_memory_spread_testset.sh
>>> b/testcases/kernel/controllers/cpuset/cpuset_memory_spread_test/cpuset_memory_spread_testset.sh
>>> index e2767ef05..f7230a4ea 100755
>>> --- a/testcases/kernel/controllers/cpuset/cpuset_memory_spread_test/cpuset_memory_spread_testset.sh
>>> +++ b/testcases/kernel/controllers/cpuset/cpuset_memory_spread_test/cpuset_memory_spread_testset.sh
>>> @@ -38,7 +38,15 @@ nr_mems=$N_NODES
>>>   # on which it is running. The other nodes' slab space has littler change.(less
>>>   # than 1000 kb).
>>>   upperlimit=10000
>>> -lowerlimit=2000
>>> +
>>> +# set lowerlimit according to pagesize
>>> +# pagesize(bytes)  | lowerlimit(kb)
>>> +# ------------------------------------
>>> +#  4096            | 2048
>>> +#  16384           | 8192
>>> +
>>> +PAGE_SIZE=`tst_getconf PAGESIZE`
>>> +lowerlimit=$((PAGE_SIZE * 512 / 1024))
>>>     cpus_all="$(seq -s, 0 $((nr_cpus-1)))"
>>>   mems_all="$(seq -s, 0 $((nr_mems-1)))"
>>>
>>> base-commit: 020f3985a5ca86c8bbece27eef8fb0315a10463e
>> If we don't set the upperlimit what happens if we have 64Kb pages
>> and
>> the lowerlimit > upperlimit?
>
> The lowerlimit is used to limit the max value on other nodes and the
> upperlimit is used to limit the min value on the expected node.
> So there is no problem if lowerlimit > upperlimit.
>> 

Won't this cause false negatives on systems with larger page sizes?

I have merged it however because right now the test is most likely just
a source of false positives.

-- 
Thank you,
Richard.


More information about the ltp mailing list