Purpose: When the cm_destroy_id() function times out, the kernel will call
         cm_destroy_id_wait_timeout(). This dtrace script will probe for 
	 cm_destroy_id_wait_timeout() and prints cm_id, qp_num and pci_id of
	 the associated QP. For each of the probes, it calls mlxqpdump.sh
	 script to collect Mellanox firmware diagnostics data. 

	 Note: The logs will be stored in "/var/oled/cm_destroy_id.d/"
	 The mlxqpdump.sh script writes the progress of diag collection to
	 "/var/oled/cm_destroy_id.d/mlxqpdump_stat" which helps to know all 
	 diagnostic dump completion.

Argument: None

Output format:
	[Date] Trigger Resourcedump: iter=<val> qp_num=<val> cm_id=<val> bdf=<val>

Sample output:

# oled scripts run cm_destroy_id.d
2026-01-26 13:48:27.344 INFO - Running script '/usr/libexec/oled-tools/scripts.d/cm_destroy_id.d '...
log-directory: /var/oled/cm_destroy_id.d/
[2026 Jan 26 13:48:39] Trigger Resourcedump: iter=1 qp_num=1 cm_id=ff18be7d3011a200 bdf=0000:11:00.2
[2026 Jan 26 13:51:49] Trigger Resourcedump: iter=2 qp_num=1 cm_id=ff18be7fa7f95e00 bdf=0000:11:00.2
[2026 Jan 26 13:52:42] Trigger Resourcedump: iter=3 qp_num=1 cm_id=ff18bf3879684c00 bdf=0000:11:00.2
[2026 Jan 26 13:53:34] Trigger Resourcedump: iter=4 qp_num=1 cm_id=ff18bf3879687400 bdf=0000:11:00.2
[2026 Jan 26 13:54:26] Trigger Resourcedump: iter=5 qp_num=1 cm_id=ff18be7d2cd2aa00 bdf=0000:11:00.2
Exiting the script after 5 iterations
