On Jun 9 10:31, Corinna Vinschen wrote: > On Jun 8 12:51, Yaakov S wrote: > > On 08/06/2009 12:14, Corinna Vinschen wrote: > >> Confirmed. The reason is that a datastructure on the NT level has > >> another size on 64 bit systems, and the WOW64 layer doesn't translate > >> the structure into the 32 bit format. The function is unsupported, so > >> that makes sort of sense. I'll create another solution using the > >> official function for to fetch that information. Unfortunaltey it > >> doesn't exist on NT4, so I have to sp3cial case that(*) > > > > Thanks. > > This is fixed in -49. Note, however, that not all information in > /proc/stat is available on 64 bit machines. Some of the information > printed in /proc/stat, namely the swap_in/swap_out pages, require access > to the SystemPerformanceInformation category in a call to > NtQuerySystemInformation. The structure returned by this call is also > different on 64 bit systems, even when running under WOW64. The > SYSTEM_PERFORMANCE_INFORMATION structure was already undocumented on 32 > bit systems, and on 64 bit systems it's even more undocumented, if > that's possible :) Unfortunately, to date there's no official > replacement function which provides the page read/write count. So, on > 64 bit systems, this information is set to 0 in /proc/stat.
I just examined the structure content by 32 bit and 64 bit systems and it looks like the structure is actually the same, just with 16 extra trailing bytes. /proc/stat is now fetching the info with the buffer size big enough for 64 bit systems, so the information is available again. Hopefully. I did a close examination of both struct contents and I'm pretty sure this is ok. I'm just not 100% sure... Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/