Messages in this thread | | | Date | Wed, 02 Oct 2002 23:36:46 +0200 | From | Manfred Spraul <> | Subject | Re: flock(fd, LOCK_UN) taking 500ms+ ? |
| |
akpm wrote: > It's not really clear why that yield is in there at all? Unless that > code is really, really slow (milliseconds) then probably it should just > be deleted. > It looks like a very simple starvation control:
thread 1: for(;;) { F_LOCK <do a few seconds work> F_UNLCK } thread 2: F_LOCK.
If there is no yield after unlock, thread 2 might never receive the lock. Is it possible to figure out if someone is waiting on the lock? F_UNLCK should schedule, if there is a waiter with higher priority.
-- 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/
| |