I merged it and I've almost finished moving everything on top of it but
I've a few issues.
can you elaborate why you __save_flags in do_fork? do_fork is even a
blocking operation. fork_by_hand runs as well with irq enabled.
I don't like to safe flags in a fast path if it's not required.
Then there are longstanding bugs that aren't yet fixed and I ported the
fixed on top of it (see the parent-timeslice patch in -aa).
the child-run first approch in o1 is suspect, it seems the parent will
keep running just after a wasteful reschedule, a sched yield instead
should be invoked like in -aa in the share-timeslice patch in order to
roll the current->run_list before the schedule is invoked while
returning to userspace after fork.
another suspect thing I noticed is the wmb() in resched_task. Can you
elaborate on what is it trying to serialize (I hope not the read of
p->need_resched with the stuff below)? Also if something it should be a
smp_wmb(), same smp_ prefix goes for the other mb() in schedule.
thanks,
Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/