[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <200908262002.06209@zigzag.lvk.cs.msu.su>
Date: Wed, 26 Aug 2009 20:02:05 +0400
From: "Nikita V. Youshchenko" <yoush@...msu.su>
To: linux-kernel@...r.kernel.org
Cc: Stas Bezzubtsev <stas@....cs.msu.su>
Subject: Suspend one thread and resume another in one system call ?
Hello.
Consider a situation when:
- there is a set of threads,
- only one of those should be allowed to work at a time,
- there are "switch moments" when one thread should suspend, and other
(known) resume.
"Classic" solutions like have each thread sleeping on a semaphore, and
making switch operation "sem_post(next_sem); sem_wait(my_sem)" cause two
syscalls per switch.
Could anyone suggest a solution with only one kernel entry per switch -
running thread enters kernel and is de-scheduled, new thread resumes and
leaves kernel?
Nikita
P.S.
Since there are other threads in the same application working in the
parallel with the mentioned "exclusive set", user-space solutions like
libpth are not interesting.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists