Re: semaphore understanding: sys_semtimedop()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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]
  Powered by Linux