Patrick.Le-Dot wrote: > Hi Balbir, > > The get_task_mm()/mmput(mm) usage is not correct. > With CONFIG_DEBUG_SPINLOCK_SLEEP=y : > > BUG: sleeping function called from invalid context at kernel/fork.c:390 > in_atomic():1, irqs_disabled():0 > [<c0116620>] __might_sleep+0x97/0x9c > [<c0116a2e>] mmput+0x15/0x8b > [<c01582f6>] install_arg_page+0x72/0xa9 > [<c01584b1>] setup_arg_pages+0x184/0x1a5 > ... > > BUG: sleeping function called from invalid context at kernel/fork.c:390 > in_atomic():1, irqs_disabled():0 > [<c0116620>] __might_sleep+0x97/0x9c > [<c0116a2e>] mmput+0x15/0x8b > [<c01468ee>] do_no_page+0x255/0x2bd > [<c0146b8d>] __handle_mm_fault+0xed/0x1ef > [<c0111884>] do_page_fault+0x247/0x506 > [<c011163d>] do_page_fault+0x0/0x506 > [<c0348f99>] error_code+0x39/0x40 > > > current->mm seems to be enough here.
Excellent, thanks for catching this! > > > > In patch4, memctlr_dec_rss(page, mm) should be memctlr_dec_rss(page) > to compile correctly. > > and in patch0 : >> 4. Disable cpuset's (to simply assignment of tasks to resource groups) >> cd /container >> echo 0 > cpuset_enabled > > should be : > echo 0 > cpuacct_enabled > > Note : cpuacct_enabled is 0 by default. > Thanks for pointing this out. > > Now the big question : to implement guarantee, the LRU needs to know > if a page can be removed from memory or not. > Any ideas to do that without any change in the struct page ? > For implementing guarantees, we can use limits. Please see http://wiki.openvz.org/Containers/Guarantees_for_resources. Thanks for the feedback! -- Balbir Singh, Linux Technology Center, IBM Software Labs ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ ckrm-tech mailing list https://lists.sourceforge.net/lists/listinfo/ckrm-tech
