+//#define SCHED_DEBUG 1
+static inline void call_post_select(struct sched *s, struct task *t)
+{
+#ifndef SCHED_DEBUG
+ if (t->new_post_select) {
+ t->error = t->new_post_select(s, t);
+ return;
+ }
+ return t->post_select(s, t);
+#else
+ struct timeval t1, t2, diff;
+ unsigned long pst;
+
+ clock_get_realtime(&t1);
+ if (t->new_post_select)
+ t->error = t->new_post_select(s, t);
+ else
+ t->post_select(s, t);
+ clock_get_realtime(&t2);
+ tv_diff(&t1, &t2, &diff);
+ pst = tv2ms(&diff);
+ if (pst > 50)
+ PARA_WARNING_LOG("%s: post_select time: %lums\n",
+ t->status, pst);
+#endif
+}
+