On 2012.07.11 10:18, Hans de Goede wrote:
> Ok, with this patch added I think the end-result is better then
> Pete's patch + my suggest change to only do the disarm based
> on a flag.
>
> So Pete, if you agree lets go with Peter's 2 patches.

Still on the fence on that one. I'd like to have the second part of the 
equation (moving the setting of the timerfd in flying-transfers-lock as 
well) to get the full picture.

My concern here is that the issue we've been having was apparently due 
to the code having been modified without people realizing they needed to 
be careful about disarming. For that reason alone, I would prefer having 
the disarming encapsulated somewhere where it'll be less prone to mishaps.

Basically, I still think arm_timerfd_for_next_timeout() should be the 
one entity to take care of optionally disarming the timerfd. Else, we 
are moving logic that is better suited to a single timerfd related call 
("Is there something else to wait for? If yes rearm. If not disarm") 
outside of that call, which is asking for trouble.

Now of course our problem also becomes whether we want to keep the 
timerfd armed while in handle_timerfd_trigger() (which is an option - I 
had an early version of the patch that did just that, and I don't see 
the overhead concerns as that dramatic), and if not, what we are doing 
to make sure that a rearm elsewhere cannot be undone by the 
unconditional disarm we do there, that doesn't care about the flying 
transfer lock.
There are elements of handle_timerfd_trigger(), such as just returning 
after an unconditional disarm that fails, that I'm not too fond of, as 
we can very much afford having a failed disarm there and don't actually 
want the timerfd to potentially stay disarmed (in case the call 
half-failed)...

Regards,

/Pete

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to