]> git.openfabrics.org - ~shefty/rdma-win.git/commit
[IPOIB, IBBUS] g_stat: first patch of several, adding and populating global g_stat...
authorleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Tue, 17 Nov 2009 14:12:21 +0000 (14:12 +0000)
committerleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Tue, 17 Nov 2009 14:12:21 +0000 (14:12 +0000)
commitafdb5bfa82b1d7fea8c614d7f5c3694260da0dbc
tree13adbfcf078d3fd97fb353037148fd103e6f7bfe
parent115609de4bffc31d7b86b06f0d9551bc7a8f093b
[IPOIB, IBBUS] g_stat: first patch of several, adding and populating global g_stat structure to the drivers of IB stack

For debug purposes.
Usable in both checked and free version.
Usage: open Watch Window in Debugger and add ipoib!g_stat or ibbus!g_stat.

An example of a real problem: MLX4 driver is stuck on unload.

It can happen when IBAL is stuck on resource reclamation.
The reclamation is being done in one of IBAL threads, which are started on IBAL's start up.
So you'd like to look into this thread.
But where it is ?
You can find it by printing ALL the threads of System process and looking for ibbus in their stack traces.
It can take minutes.

After this patch you can do that in 3 seconds this way:
1. open Watch Window in WinDbg and add ibbus!g_stat.
2. open
ibbus!g_stat->Drv->Gp_async_obj_mgr->Thread_pool->P_thread[0]->Osd->P_thread

This field contains the address of the thread, you wanted.

git-svn-id: svn://openib.tc.cornell.edu/gen1@2580 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
17 files changed:
trunk/core/al/al_init.c
trunk/core/al/al_mgr.h
trunk/core/al/kernel/SOURCES
trunk/core/bus/kernel/SOURCES
trunk/core/bus/kernel/bus_driver.c
trunk/core/bus/kernel/bus_driver.h
trunk/core/bus/kernel/bus_pnp.c
trunk/core/bus/kernel/bus_stat.c [new file with mode: 0644]
trunk/core/bus/kernel/bus_stat.h [new file with mode: 0644]
trunk/core/complib/cl_threadpool.c
trunk/core/complib/kernel/cl_thread.c
trunk/inc/complib/cl_threadpool.h
trunk/ulp/ipoib/kernel/SOURCES
trunk/ulp/ipoib/kernel/ipoib_adapter.h
trunk/ulp/ipoib/kernel/ipoib_driver.c
trunk/ulp/ipoib/kernel/ipoib_stat.c [new file with mode: 0644]
trunk/ulp/ipoib/kernel/ipoib_stat.h [new file with mode: 0644]