On Tue, Feb 4, 2020 at 12:36 PM Mina Almasry <almasrymina@xxxxxxxxxx> wrote: > > On Tue, Feb 4, 2020 at 8:26 AM Sandipan Das <sandipan@xxxxxxxxxxxxx> wrote: > > > > > > There are still a couple of places where 2MB page size is being used. > > These are my workarounds to get the tests running on ppc64. > > > > Thanks for the changes! > > > Also I had missed running charge_reserved_hugetlb.sh the last time. > > Right now, it stops at the following scenario. > > > > Test normal case with write. > > private=, populate=, method=2, reserve= > > nr hugepages = 10 > > writing cgroup limit: 83886080 > > writing reseravation limit: 83886080 > > > > Starting: > > hugetlb_usage=0 > > reserved_usage=0 > > expect_failure is 0 > > Putting task in cgroup 'hugetlb_cgroup_test' > > Method is 2 > > Executing ./write_to_hugetlbfs -p /mnt/huge/test -s 83886080 -w -m 2 -l > > Writing to this path: /mnt/huge/test > > Writing this size: 83886080 > > Not populating. > > Using method=2 > > Shared mapping. > > RESERVE mapping. > > Allocating using SHM. > > shmid: 0x5, shmget key:0 > > shmaddr: 0x7dfffb000000 > > Writing to memory. > > Starting the writes: > > .write_result is 0 > > .After write: > > hugetlb_usage=16777216 > > reserved_usage=83886080 > > ....kiling write_to_hugetlbfs > > ...Received 2. > > Deleting the memory > > Done deleting the memory > > 16777216 > > 83886080 > > Memory charged to hugtlb=16777216 > > Memory charged to reservation=83886080 > > expected (83886080) != actual (16777216): Reserved memory charged to hugetlb cgroup. > > CLEANUP DONE > > > > > > So the problem in this log seems to be that this log line is missing: > echo Waiting for hugetlb memory to reach size $size. > > The way the test works is that it starts a process that writes the > hugetlb memory, then it *should* wait until the memory is written, > then it should record the cgroup accounting and kill the process. It > seems from your log that the wait doesn't happen, so the test > continues before the background process has had time to write the > memory properly. Essentially wait_for_hugetlb_memory_to_get_written() > never gets called in your log. > > Can you try this additional attached diff on top of your changes? I > attached the diff and pasted the same here, hopefully one works for > you: > I got my hands on a machine with 16MB default hugepage size and charge_reserved_hugetlb.sh passes now after my changes. Please let me know if you still run into issues.