On 07/06/2011 03:58 PM, Sasha Levin wrote:
What about something as follows:
This requires an addition of a mutex to struct ioeventfd.
1. When adding a new ioeventfd, scan exiting ioeventfds (we already do
it anyway) and check whether another ioeventfd is using the socket
already.
2. If the existing ioeventfd doesn't have a mutex assigned, create a new
mutex and assign it to both ioeventfds.
That fails if there is a read already in progress on the old ioeventfd.
Just create or share a mutex every time. Taking a mutex is cheap enough.
3. If the existing ioeventfd already has a mutex assigned, copy it to
the new ioeventfd.
4. When removing an ioeventfd, do everything the other way around :)
This mutex can be used to lock the write/read pair.
Not very elegant, but reasonable and simple.
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html