randy_dunlap wrote:
On Mon, 16 May 2005 22:17:04 +0200 Patrick Plattes wrote:
| The variable decrease will never be used again in this
| function, so why this intricate code? Isn't this much easier and works
| also:
|
| for (sop = sops; sop < sops + nsops; sop++) {
| if (sop->sem_num >= max)
| max = sop->sem_num;
| if (sop->sem_flg & SEM_UNDO)
| undos++;
| if (sop->sem_op != 0)
| alter = 1;
| }
|
| Maybe i'm totally wrong, so please correct me and don't shoot me up,
| 'cause i'm not a os developer.
Looks like a reasonable and correct optimization to me.
It looks correct:
decrease was added during 2.1 development: it's not in 2.0.40, it's in
2.2.26: I think the idea was that operations with decrease can cause
other threads to block, therefore a different wakeup strategy was used.
The wakeup implementation was rewritten, but the loop remained unchanged.
I'll write a patch, thanks Patrick.
--
Manfred
-
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]