#ifndef CT_SERVMGMT_H #define CT_SERVMGMT_H #include #include "curve.h" extern void parse_userfile_and_generate_serv_store_or_die(char *homedir); extern void dump_serv_store(void); extern void get_serv_store_entry_by_alias(char *alias, size_t len, char **host, char **port, int *udp); extern struct curve25519_proto *get_serv_store_entry_proto_inf(void); extern unsigned char *get_serv_store_entry_auth_token(void); extern void destroy_serv_store(void); #endif /* CT_SERVMGMT_H */ ef='http:///git.distanz.ch/cgit.cgi/linux/net-next.git' title='net-next.git Git repository'/>
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2016-06-17 11:20:46 +0200
committerIngo Molnar <mingo@kernel.org>2016-06-27 12:17:51 +0200
commit010114739d294c474764c94196d32fb92e233657 (patch)
treeeef26f1260a3ebae88d927987329115a7178522b
parente210bffd39d01b649c94b820c28ff112673266dd (diff)
sched/fair: Fix PELT integrity for new groups
Vincent reported that when a new task is moved into a new cgroup it gets attached twice to the load tracking: sched_move_task() task_move_group_fair() detach_task_cfs_rq() set_task_rq() attach_task_cfs_rq() attach_entity_load_avg() se->avg.last_load_update = cfs_rq->avg.last_load_update // == 0 enqueue_entity() enqueue_entity_load_avg() update_cfs_rq_load_avg() now = clock() __update_load_avg(&cfs_rq->avg) cfs_rq->avg.last_load_update = now // ages load/util for: now - 0, load/util -> 0 if (migrated) attach_entity_load_avg() se->avg.last_load_update = cfs_rq->avg.last_load_update; // now != 0 The problem is that we don't update cfs_rq load_avg before all entity attach/detach operations. Only enqueue_task() and migrate_task() do this. By fixing this, the above will not happen, because the sched_move_task() attach will have updated cfs_rq's last_load_update time before attach, and in turn the attach will have set the entity's last_load_update stamp. Note that there is a further problem with sched_move_task() calling detach on a task that hasn't yet been attached; this will be taken care of in a subsequent patch. Reported-by: Vincent Guittot <vincent.guittot@linaro.org> Tested-by: Vincent Guittot <vincent.guittot@linaro.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Yuyang Du <yuyang.du@intel.com> Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>