Re: [GIT PULL] kdbus for 4.1-rc1

From: John Stoffel
Date: Wed Apr 29 2015 - 18:35:05 EST


>>>>> "Austin" == Austin S Hemmelgarn <ahferroin7@xxxxxxxxx> writes:

Austin> On 2015-04-29 14:54, Andy Lutomirski wrote:
>> On Apr 29, 2015 5:48 AM, "Harald Hoyer" <harald@xxxxxxxxxx> wrote:
>>>
>>> * Being in the kernel closes a lot of races which can't be fixed with
>>> the current userspace solutions. For example, with kdbus, there is a
>>> way a client can disconnect from a bus, but do so only if no further
>>> messages present in its queue, which is crucial for implementing
>>> race-free "exit-on-idle" services
>>
>> This can be implemented in userspace.
>>
>> Client to dbus daemon: may I exit now?
>> Dbus daemon to client: yes (and no more messages) or no
>>

Austin> Depending on how this is implemented, there would be a
Austin> potential issue if a message arrived for the client after the
Austin> daemon told it it could exit, but before it finished shutdown,
Austin> in which case the message might get lost.

What makes anyone think they can guarrantee that a message is even
received? I could see the daemon sending the message and the client
getting a segfault and dumping core. What then? How would kdbus
solve this type of "race" anyway?

Can anyone give a concrete example of one of the races that are closed
here? That's been one of the missing examples. And remember, there's
no perfection. Even in the kernel we just had a discussion about
missed/missing IPIs and lost processor interrupts, etc. Expecting
perfection is just asking for trouble.

That's why there are timeouts, retries and just giving up and throwing
an exception.

John
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/