lkml.org 
[lkml]   [2005]   [May]   [22]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 22 May 2005 08:49:48 +0200
FromManfred Spraul <>
SubjectRe: semaphore understanding: sys_semtimedop()
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 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/

\
 
 \ /
  Last update: 2005-05-22 08:54    [from the cache]
©2003-2008