Hi,

Cool stuff, thanks! I believe this is best reviewed by Pete though,
hopefully he can find some time for this in the not too distant
feature.

Enjoy your vacation / away from the office time :)

Regards,

Hans

On 06/27/2013 06:58 PM, Toby Gray wrote:
>
> I realise that 1.0.16 is currently trying to be released and that
> these patches won't get looked at until after that has happened. I'm
> away from the office for the next couple of weeks so thought it was
> worth sending this patch series for people to look at if they get
> time while I'm away.
>
> A while ago I mentioned that I thought that I was seeing performance
> issues due to all the fake FD logic in the Windows backends. This patch
> series makes these changes.
>
> This series is actually a group of related changes.
>
> Patches 1, 2 and 7 add some additional tests and testlib functionality.
>
> Patch 3 adds a new event API which provides FDs on POSIX systems but
> HANDLES on Windows systems.
>
> Patch 4 changes the core code to make use of the new FD/HANDLE type.
>
> Patch 5 and 6 change the Windows backends over to using the FD/HANDLE type.
>
> While developing these patches I noticed that the Windows backends have a bug
> where if you get more than MAXIMUM_WAIT_OBJECTS pollfds then any attempt at
> a synchronous transfer will hang. The problem is that the handling of
> events starts to fail when too many transfers have been submitted. This
> is impossible to recover from as event handling needs to occur to remove
> the pollfds for cancelled/completed transfers.
>
> Patches 8 and 9 modify the core code to allow pre-reserving of pollfds
> and limiting the total number of concurrent pollfds. Instead of failing
> in handling events with high numbers of pollfds this makes it possible
> to fail the submission of the transfer.
>
> Patch 10 makes use of pre-reserving of pollfds in the Windows backends.
>
> Finally patch 11 enables limiting the number of concurrent pollfds on
> Windows platforms.
>
> As for the original reason for this patch series, our actual
> performance uses cases have improved by about 5% on WinCE through
> these changes.
>
> Sadly the simple performance tests I created don't show any improvement
> as they are limited by IO scheduling, not CPU usage.
>
> Regards,
>
> Toby
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
>
> Build for Windows Store.
>
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> libusbx-devel mailing list
> libusbx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libusbx-devel
>

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to