|
And bring plenty of life vests for those that might need them!
led mike
|
|
|
|
|
|
Thanks All .........
nothing happens with the normal procedures and atlast i can send another signal to the unix server the socket was closed......
and it works
thank you once more
vineesh
|
|
|
|
|
when programming a cshell in vc++ i have to handle pss_thru in hyperthreading
help me to know how this pass_thru function is handled in hyperthreading.
vineesh
|
|
|
|
|
Please provide details on this pass_thru thingy. Function, Event, etc.
For the trivial case, HT cores can be treated as "real" processors. However, if you are doing someting that really needs the performance, you need to understand how and when they will have to wait on each other (on the same die).
It becomes more of a concern when dealing with systems that have multiple Hyperthreaded CPU cores, because how you spread out work across the virtual CPUs can make a difference in performance.
Peace!
-=- James If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! DeleteFXPFiles & CheckFavorites (Please rate this post!)
|
|
|
|
|
James R. Twine wrote: It becomes more of a concern when dealing with systems that have multiple Hyperthreaded CPU cores, because how you spread out work across the virtual CPUs can make a difference in performance.
Hey James,
By default does the system (Win32) handle this for you or is it something that always has to
be explicitly done?
By "default", I mean using ::CreateThread() with normal priority and not changing affinity mask
or anything.
Thanks!
Mark
|
|
|
|
|
By just calling ::CreateThread(...) on any multicore/HT system will not allocate the thread to a particular CPU/Virtual-CPU. Normally, this is OK. However, if you want to ensure that two threads are not waiting for a particular CPU resource, you can set the affinity (or if you want to restrict what CPUs it can run on).
HT's virtual-CPUs are not real CPUs (and this comes from memory from a year or so ago) - they share a single execution engine on the die - this means that HTs compete for a shared resource on the die.
They each have their own copy of an "architectural state" (like registers) but they cannot really execute (or dispatch) executions at exactly the same time. They can decode and retire instructions independently of one another, IIRC, and this part provides a performance increase. It still does not beat out a real multi-core system, all things being equal.
When dealing with this on a multi-HT-CPU system, you need to allocate threads to every other CPU so that each thread ends up on its own die. (IIRC, the virtual CPUs are allocated in order of the dies in Win32, so if you have two HT CPUs in your system, you see 4 CPUs, and CPUs 0 and 1 are on the first die/chip and 2 and 3 are on the second die/cip. By allocating two threads to CPUs 0 and 2, they will run on different dies and thus can really execute independently and not compete for an on-die resource.
I do not think that Windows is smart enough to do this on its own (or at least, it was not before - it might be better now), this is why some applications (even properly multithreaded ones) did not run so great on the early HT processors - the OS treated them like real CPUs.
Peace!
-=- James If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! DeleteFXPFiles & CheckFavorites (Please rate this post!)
|
|
|
|
|
Thanks
|
|
|
|
|
the passthru function is used in the TRAPdriver which actually fits in as 'NDIS INTERMEDIATE DRIVER'.
normal cases which was handled as
// Event Codes related to the PassthruEvent Structure
//
typedef enum
{
Passthru_Invalid,
Passthru_SetPower,
Passthru_Unbind
} PASSSTHRU_EVENT_CODE, *PPASTHRU_EVENT_CODE;
//
// Passthru Event with a code to state why they have been state
//
typedef struct _PASSTHRU_EVENT
{
NDIS_EVENT Event;
PASSSTHRU_EVENT_CODE Code;
} PASSTHRU_EVENT, *PPASSTHRU_EVENT;
i wnt to know how it is possible in hyperthreading
vineesh
|
|
|
|
|
I do not think that hyperthreading is an issue here. ARe you seeing a problem?
Peace!
-=- James If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! DeleteFXPFiles & CheckFavorites (Please rate this post!)
|
|
|
|
|
I am a newbie in vc++. So take it easy on me if i ask something very stupid
I'm writing a dialog program that uses rs232.
It works fine, but from a point and then when i add a control variable to a button or just another variable it compiles fine but when executing it doesn't even show any window. Not even a message
Using the debugger produces the following message
Unhandled exception at 0x00000001 in ZenoController.exe: 0xC0000005: Access violation reading location 0x00000001.
Can anyone please help me?
Thanks a lot
I can send the program if it helps
|
|
|
|
|
eanton83 wrote: Unhandled exception at 0x00000001 in ZenoController.exe: 0xC0000005: Access violation reading location 0x00000001.
In the Debug menu choose Exceptions. Find "C0000005 Access Violation" in the list (under Win32
exceptions) and highlight it. In the radio buttons below click the "break into debugger" button
in the when exception is thrown section.
When you run it in the debugger it will stop when the exception is thrown and you can hopefully
see where the problem is.
|
|
|
|
|
Mark Salsbery wrote: In the Debug menu choose Exceptions. Find "C0000005 Access Violation" in the list (under Win32
exceptions) and highlight it. In the radio buttons below click the "break into debugger" button
in the when exception is thrown section.
Thats a handy little trick, I never noticed it there before, or perhaps it wasn't included in VC6? Thanks for sharing :->
|
|
|
|
|
It is in VC6.0, just in a slightly different interface (and a bit hard to understand at first).
Peace!
-=- James If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! DeleteFXPFiles & CheckFavorites (Please rate this post!)
|
|
|
|
|
Honestly I just learned that one yesterday, here at CP.
I had never seen the Exceptions dialog before. The cool thing is you can add exceptions to the
list!
That's what I like about this place.
|
|
|
|
|
Mark Salsbery wrote: I just learned that one yesterday
LMAO
I wish I knew about it earlier. The amount of times I've pulled hair trying to find the cause... (not so much these days mind )
|
|
|
|
|
WalderMort wrote: I wish I knew about it earlier
Me too!!
|
|
|
|
|
Looks like a NULL pointer issue right off the bat - check the location being read: 0x00000001. IIRC, any read or write to address in the range of 0x00000000 to 0x00000400 automatically triggers an IPF because that is the reserved "NULL pointer range" used to catch problems just like this.
Peace!
-=- James If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! DeleteFXPFiles & CheckFavorites (Please rate this post!)
|
|
|
|
|
It's a "1 pointer", not a "NULL Pointer"
|
|
|
|
|
error C2065: 'Createprocess' : undeclared identifier
How can I do it?
|
|
|
|
|
Write CreateProcess(...) Note that 'C' and 'P' are capital.
We Believe in Excellence
www.aqueelmirza.cjb.net
|
|
|
|
|
And see Requirements On MSDN
Include Winbase.h and Link To Coredll.lib
|
|
|
|
|
WhiteSky wrote: nclude Winbase.hand Link To Coredll.lib
i believe this file is included in any mfc application by default,,, it is oart of windows.h
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and you
|
|
|
|
|
good point
|
|
|
|
|
WhiteSky wrote: ...and Link To Coredll.lib
That's kernel32.lib .
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|