Blaisorblade wrote:
On Wednesday 23 March 2005 18:09, Bodo Stroesser wrote:
[email protected] wrote:
Use rep_nop instead of barrier for cpu_relax, following $(SUBARCH)'s
doing that (i.e. i386 and x86_64).
IIRC, Jeff had the idea, to use sched_yield() for this (from a discussion
on #uml).
Hmm, makes sense, but this is to benchmark well... I remember from early
discussions on 2.6 scheduler that using sched_yield might decrease
performance (IIRC starve the calling application).
Typically, for places where cpu_relax is used, sched_yield would be
a poor fit. So yes it could easily reduce performance.
Also, that call should be put inside the idle loop, not for cpu_relax, which
is very different, since it is used (for instance) in kernel/spinlock.c for
spinlocks, and in such things. The "Pause" opcode is explicitly recommended
(by Intel manuals, I don't recall why) for things like spinlock loops, and
using yield there would be bad.
The other thing is that sched_yield won't relax at all if you are the
only thing running, it will be a busy wait. So again, maybe not a great
fit for the idle loop either.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]