linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] ipc/sem.c: Bug fixes, regression fixes, v3
@ 2013-05-26  9:08 Manfred Spraul
  2013-05-26  9:08 ` [PATCH 1/4] ipc/sem.c: Fix missing wakeups in do_smart_update_queue() Manfred Spraul
                   ` (6 more replies)
  0 siblings, 7 replies; 23+ messages in thread
From: Manfred Spraul @ 2013-05-26  9:08 UTC (permalink / raw)
  To: Rik van Riel
  Cc: LKML, Andrew Morton, Davidlohr Bueso, hhuang, Linus Torvalds,
	Manfred Spraul

I've split my patch into 4 parts:
- 1: Fix-missing-wakeups-in-do_smart_update
- 2: seperate-wait-for-zero-and-alter-tasks
- 3: Always-use-only-one-queue-for-alter-operations
- 4: Rename-try_atomic_semop-to-perform_atomic

Linus:
- Patch 1 should be merged immediately: It fixes bugs,
  the current code misses wakeups.

- Patch 2 and 3 restore the behavior of linux <=3.0.9.
  I would propose that they are merged, too: I can't rule out that
  changing the priority of the wakeups breaks user space apps.

- Patch 4 is trivial, no code changes at all.
  If 2+3 are merged, then 4 should be merged, too.

I have tested patch 1 seperately and 1+2+3+4:
With patch 1 applied, there are no more missed wakeups.

With all 4 applied, linux-3.0.10-rc1 behaves as linux <=3.0.9.

With regards to the scalability, I do not expect any degradation:
Operations on seperate semaphores in an array remain parallelized.

Apps that use lots of wait-for-zero semop are probably even faster,
because the wait-for-zero ops are now only scanned if a semval is 0.

--
	Manfred

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2013-06-01 11:52 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-26  9:08 [PATCH 0/4] ipc/sem.c: Bug fixes, regression fixes, v3 Manfred Spraul
2013-05-26  9:08 ` [PATCH 1/4] ipc/sem.c: Fix missing wakeups in do_smart_update_queue() Manfred Spraul
2013-05-27 17:51   ` Rik van Riel
2013-05-27 19:53     ` Manfred Spraul
2013-05-26  9:08 ` [PATCH 2/4] ipc/sem: seperate wait-for-zero and alter tasks into seperate queues Manfred Spraul
2013-05-27 17:57   ` Rik van Riel
2013-06-01  9:20     ` Manfred Spraul
2013-06-01 10:03       ` Mike Galbraith
2013-06-01 10:05         ` Mike Galbraith
2013-06-01 11:04         ` Mike Galbraith
2013-06-01 11:52       ` Manfred Spraul
2013-05-26  9:08 ` [PATCH 3/4] ipc/sem.c: Always use only one queue for alter operations Manfred Spraul
2013-05-27 18:00   ` Rik van Riel
2013-05-26  9:08 ` [PATCH 4/4] ipc/sem.c: Rename try_atomic_semop() to perform_atomic_semop(), docu update Manfred Spraul
2013-05-27 17:59   ` Rik van Riel
2013-05-26 17:37 ` [PATCH 0/4] ipc/sem.c: Bug fixes, regression fixes, v3 Linus Torvalds
2013-05-26 20:50 ` Davidlohr Bueso
2013-05-26 22:59   ` Linus Torvalds
2013-05-27 15:57   ` Manfred Spraul
2013-05-28 20:37     ` Davidlohr Bueso
2013-05-27  2:04 ` Greg KH
2013-05-27 17:50   ` Rik van Riel
2013-05-27 19:57     ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).