Slow performance Win7/64
jojelino
jojelino@gmail.com
Fri Jul 29 04:18:00 GMT 2011
On 2011-07-27 ì¤í 8:30, Heiko Elger wrote:
> Why is this problem not solved - cause it is to difficult to find? Yes I know
> it's open source and I'm a programmer too - but I'm realy not a programmer
> having the knowledge of Cygwin internal details.
>
> Is there a workaround for that problem?
> Any hints are welcome.
>
> best regards
>
> Heiko
>
>
>
I believe the attached patch workarounds delayed wait_sig problem.
What this workaround does is, we issue user apc call, and let the os
decide when to call them. and it seems working.
I ran fork-wait testcase with strace. and we can see the applied one
creates wait_sig thread as soon as dll_process_attach event has finished.
207 207 [main] a 4688 heap_init: heap base 0x20000000, heap top
0x20000000
79 286 [main] a 4688 open_shared: name
S-1-5-21-1735317954-1678237343-3838201155-500.1, n 1, shared 0x60FE0000
(wanted 0x60FE0000), h 0x770, *m 6
57 343 [main] a 4688 user_info::create: opening user shared for
'S-1-5-21-1735317954-1678237343-3838201155-500' at 0x60FE0000
56 399 [main] a 4688 user_info::create: user shared version 6467403B
136 535 [main] a 4688 dll_crt0_0: finished dll_crt0_0 initialization
827 1362 [sig] a 4688 wait_sig: entering ReadFile loop, my_readsig
0x750, my_sendsig 0x744
whereas the not applied one has delay to wake wait_sig thread.
269 19965 [main] a 5844 open_shared: name
1720b01b097bf4fc-cons0x250A28.0, n 0, shared 0x60FC0000 (wanted
0x60FC0000), h 0x738, *m 3
3805 23770 [sig] a 5844 wait_sig: entering ReadFile loop, my_readsig
0x764, my_sendsig 0x760
This yielded speed improvement. i ran your testcase and same timestamp
recorded 35. approx 2x speed.
but i can't make sure it doesn't include side-effects. please test it on
your pc. let's hope it would work.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: workaround_sigproc.diff
URL: <http://cygwin.com/pipermail/cygwin/attachments/20110729/0d7e8cb4/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fork.c
URL: <http://cygwin.com/pipermail/cygwin/attachments/20110729/0d7e8cb4/attachment.c>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: no_workaround.log
URL: <http://cygwin.com/pipermail/cygwin/attachments/20110729/0d7e8cb4/attachment.log>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: with_workaround.log
URL: <http://cygwin.com/pipermail/cygwin/attachments/20110729/0d7e8cb4/attachment-0001.log>
-------------- next part --------------
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list