Support for third-party memory managers

Support for third-party memory managers

Understanding the support, if any, in Inspector XE to mask detecting use of recycled memory by third party memory managers as data sharing violations.

Firstly, did such support make it into the latest release? If so, can someone shed any details. Thanks!

4 post / 0 nuovi
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione

Intel Inspector XE 2011 can detect memory errors & thread errors in all modules at runtime (native code only), including 3rd-party libraries, system libraries, etc. This is default operation.

The user can select all modules in report, or select interest of module in report, like as below.

Regards, Peter

Quoting rachidh
Firstly, did such support make it into the latest release? If so, can someone shed any details. Thanks!

Hi,

Not at the moment.
You might have found some user API functions in the ittnotify.h that are
similar to what youre asking for. However, we do not claim support of that
functionality for the current release.

Please, provide
your particular examples on how you think the 3-rd party/custom memory managers have to
be supported by Inspector XE, just for better understanding of what you expect.

-Vladimir

Intel Inspector XE uses a race detection algorithm that correctly recognizes the use of mutexes to perform ownership transfers.

If the third party memory manager is thread safe and correctly synchronized with system APIs then we will recognize that the thread that frees the memory and the thread that later allocates (recycles) the memory acquired the lock protecting the memory manager in a well defined order. We will not report a race on the recycled memory.

If Inspector XE is reporting races on data that is managed by a third-party memory manager then there are three possibilities:

1. there is actually a race in the program.
2. the third-party memory manager has a synchronization bug.
3. the third-party memory manager is correctly synchronized, but is using hand-crafted synchronization routines that Inspector XE is not automatically recognizing as being synchronization routines.

The best thing to do in thelast case is to "teach" Inspector XE about the synchronization routines using the itt annotation API. (The same API that was available in Thread Checker 3.1).

Lascia un commento

Eseguire l'accesso per aggiungere un commento. Non siete membri? Iscriviti oggi