Re: [QUESTION] ltp: mavise06 failed when the task scheduled to another cpu

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

 



Hi Yongqiang,

Sorry for the late reply, I missed your email because of the filter.
Next time, plz remember to CC the LTP mailing list: ltp@xxxxxxxxxxxxxx

We ever submitted a patch for reducing this happening in:
And from our team testing, there do not be similar failures happening anymore since then.

-----------------------

BTW, recently we catch another issue:
      43 madvise06.c:201: TFAIL: less than 102400 Kb were moved to the swap cache

And I started an RFC patch here:


On Mon, Oct 11, 2021 at 4:14 PM Yongqiang Liu <liuyongqiang13@xxxxxxxxxx> wrote:
Hi,

when runing this case in 5.10-lts kernel, it will trigger the folloing
failure:

  ......

     madvise06.c:74: TINFO:  memory.kmem.usage_in_bytes: 1752 Kb
     madvise06.c:208: TPASS: more than 102400 Kb were moved to the swap
cache
     madvise06.c:217: TINFO: PageFault(madvice / no mem access): 102401
     madvise06.c:221: TINFO: PageFault(madvice / mem access): 102417
     madvise06.c:82: TINFO: After page access
     madvise06.c:84: TINFO:  Swap: 307372 Kb
     madvise06.c:86: TINFO:  SwapCached: 101820 Kb
     madvise06.c:88: TINFO:  Cached: 103004Kb
     madvise06.c:74: TINFO:  memory.kmem.usage_in_bytes: 0Kb
     madvise06.c:225: TFAIL: 16 pages were faulted out of 2 max

and we found that when we call the madvise the task was scheduled to
another cpu:

......

tst_res(TINFO, "before madvise MEMLIMIT CPU:%d", sched_getcpu());--->cpu0

TEST(madvise(target, MEM_LIMIT, MADV_WILLNEED));

tst_res(TINFO, "after madvise MEMLIMIT CPU:%d", sched_getcpu());--->cpu1

......

tst_res(TINFO, "before madvise PASS_THRESHOLDCPU:%d",
sched_getcpu());-->cpu1

TEST(madvise(target, PASS_THRESHOLD, MADV_WILLNEED));

tst_res(TINFO, "after madvise PASS_THRESHOLDCPU:%d",
sched_getcpu());-->cpu0

.....

Is the PERCPU data swap_slot was not handled well?


with the following patch almost fix the error:

e9b9734b7465 sched/fair: Reduce cases for active balance

8a41dfcda7a3 sched/fair: Don't set LBF_ALL_PINNED unnecessarily

fc488ffd4297 sched/fair: Skip idle cfs_rq

but bind the task to a cpu also can solve this problem.

Kind regards,




--
Regards,
Li Wang

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

  Powered by Linux