memcg_use_hierarchy_test.sh 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #! /bin/sh
  2. ################################################################################
  3. ## ##
  4. ## Copyright (c) 2012 FUJITSU LIMITED ##
  5. ## ##
  6. ## This program is free software; you can redistribute it and#or modify ##
  7. ## it under the terms of the GNU General Public License as published by ##
  8. ## the Free Software Foundation; either version 2 of the License, or ##
  9. ## (at your option) any later version. ##
  10. ## ##
  11. ## This program is distributed in the hope that it will be useful, but ##
  12. ## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
  13. ## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ##
  14. ## for more details. ##
  15. ## ##
  16. ## You should have received a copy of the GNU General Public License ##
  17. ## along with this program; if not, write to the Free Software ##
  18. ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ##
  19. ## ##
  20. ################################################################################
  21. #
  22. # File : memcg_use_hierarchy_test.sh
  23. # Description: Tests memory.use_hierarchy.
  24. # Author: Peng Haitao <penght@cn.fujitsu.com>
  25. # History: 2012/01/14 - Created.
  26. #
  27. TCID="memcg_use_hierarchy_test"
  28. TST_TOTAL=3
  29. . memcg_lib.sh
  30. # test if one of the ancestors goes over its limit, the proces will be killed
  31. testcase_1()
  32. {
  33. echo 1 > memory.use_hierarchy
  34. echo $PAGESIZE > memory.limit_in_bytes
  35. mkdir subgroup
  36. cd subgroup
  37. test_proc_kill $((PAGESIZE*3)) "--mmap-lock1" $((PAGESIZE*2)) 0
  38. cd ..
  39. rmdir subgroup
  40. }
  41. # test Enabling will fail if the cgroup already has other cgroups
  42. testcase_2()
  43. {
  44. mkdir subgroup
  45. EXPECT_FAIL echo 1 \> memory.use_hierarchy
  46. rmdir subgroup
  47. }
  48. # test disabling will fail if the parent cgroup has enabled hierarchy.
  49. testcase_3()
  50. {
  51. echo 1 > memory.use_hierarchy
  52. mkdir subgroup
  53. EXPECT_FAIL echo 0 \> subgroup/memory.use_hierarchy
  54. rmdir subgroup
  55. }
  56. run_tests
  57. tst_exit