Qiang Liu wrote:
> I can make the dtrace related modules (drivers) loaded before boot device 
> driver, but dtrace probing only happens after dtrace related pseudo devices 
> got created.
> 
>   "The most common use of anonymous tracing is to permit device driver 
> developers to debug and trace activity that occurs during system boot"
> 
> --- Here ***during system boot*** actually means ever since the time *after* 
> dtrace probes are enabled during system boot. 
> 
> "To allow tracing during boot, the dtrace(7D) driver must be loaded as early 
> as possible. dtrace adds the necessary forceload statements to /etc/system 
> for each required DTrace provider and for dtrace(7D) itself"
> 
> --- Here ***as early as possible*** does not mean too much at least to those 
> who want to trace the behavior of  boot device driver. 
> 
> any comments will be appreciated.

Yes.  I believe you are correct.

kmdb exists.

> 
> ----------------------
> 
> elfdump of my boot device driver.
> 
>        [0]  NEEDED            0x1                 misc/md5
>        [1]  NEEDED            0xa                 misc/sha1
>        [2]  NEEDED            0x14                misc/bignum
>        [3]  NEEDED            0x20                drv/systrace
>        [4]  NEEDED            0x2d                drv/sdt
>        [5]  NEEDED            0x35                drv/profile
>        [6]  NEEDED            0x41                drv/lx_systrace
>        [7]  NEEDED            0x51                drv/lockstat
>        [8]  NEEDED            0x5e                drv/fbt
>        [9]  NEEDED            0x66                drv/fasttrap
>       [10]  NEEDED            0x73                drv/dtrace
> ...
> load 'misc/kcf' id 51 loaded @ 0xfffffffff79e9000/0xfffffffffbdc7e08 size 
> 155736/3160
> load 'misc/md5' id 50 loaded @ 0xfffffffff79e6000/0xfffffffffbdc7b30 size 
> 10528/728
> load 'misc/sha1' id 52 loaded @ 0xfffffffff7a10000/0xfffffffffbdd18e0 size 
> 12880/728
> load 'misc/bignum' id 53 loaded @ 0xfffffffff7a14000/0xfffffffffbdd1bb8 size 
> 29712/280
> load 'drv/dtrace' id 7 loaded @ 0xfffffffff7a1c000/0xfffffffffbdd1e80 size 
> 116728/992
> load 'drv/systrace' id 54 loaded @ 0xfffffffff7a1b410/0xfffffffffbdd1cd0 size 
> 2768/432
> load 'drv/sdt' id 55 loaded @ 0xfffffffff7a39000/0xfffffffffbdd2280 size 
> 9416/21096
> load 'drv/profile' id 56 loaded @ 0xfffffffff7a3c000/0xfffffffffbdd74e8 size 
> 4376/600
> load 'exec/elfexec' id 59 loaded @ 0xfffffffff7a46000/0xfffffffffbddaa48 size 
> 42944/328
> load 'brand/lx_brand' id 58 loaded @ 0xfffffffff7a3e000/0xfffffffffbdd78f8 
> size 31016/12624
> load 'drv/lx_systrace' id 57 loaded @ 0xfffffffff7956670/0xfffffffffbdd7740 
> size 2304/440
> load 'drv/lockstat' id 60 loaded @ 0xfffffffff7a387f8/0xfffffffffbddabb0 size 
> 1928/992
> load 'drv/fbt' id 61 loaded @ 0xfffffffff7a51000/0xfffffffffbddaf90 size 
> 4264/456
> load 'drv/fasttrap' id 62 loaded @ 0xfffffffff7a53000/0xfffffffffbddb158 size 
> 23736/664
> load 'drv/emlxs' id 49 loaded @ 0xfffffffff7957000/0xfffffffffbdb5f90 size 
> 584832/72608 <----------- my boot device driver
> ....
> installing emlxs, module id 49.
> installing dtrace, module id 7.
> installing md5, module id 50.
> installing kcf, module id 51.
> installing sha1, module id 52.
> installing bignum, module id 53.
> installing systrace, module id 54.
> installing sdt, module id 55.
> installing profile, module id 56.
> installing lx_systrace, module id 57.
> installing lx_brand, module id 58.
> installing elfexec, module id 59.
> installing lockstat, module id 60.
> installing fbt, module id 61.
> installing fasttrap, module id 62.
> load 'misc/fctl' id 63 loaded @ 0xfffffffff7a59000/0xfffffffffbdde1e4 size 
> 41240/3384
> installing fctl, module id 63.
> ....
> Jan 22 10:37:18 sfx4600 genunix: [ID 308332 kern.notice] root on 
> /scsi_vhci/d...@g20000011c6818e6c:a fstype ufs
> Jan 22 10:37:18 sfx4600 genunix: [ID 943528 kern.notice] load 'fs/ctfs' id 69 
> loaded @ 0xfffffffff7aeb000/0xfffffffffbde2101 size 16040/888
> Jan 22 10:37:18 sfx4600 genunix: [ID 131579 kern.notice] installing ctfs, 
> module id 69.
> Jan 22 10:37:18 sfx4600 genunix: [ID 943528 kern.notice] load 'fs/procfs' id 
> 70 loaded @ 0xfffffffff7aef000/0xfffffffffbde24d9 size 132488/268
> 8
> Jan 22 10:37:18 sfx4600 genunix: [ID 131579 kern.notice] installing procfs, 
> module id 70.
> Jan 22 10:37:18 sfx4600 genunix: [ID 943528 kern.notice] load 'fs/mntfs' id 
> 71 loaded @ 0xfffffffff7b10000/0xfffffffffbde2f6d size 12024/176
> Jan 22 10:37:18 sfx4600 genunix: [ID 131579 kern.notice] installing mntfs, 
> module id 71.
> Jan 22 10:37:18 sfx4600 genunix: [ID 943528 kern.notice] load 'fs/tmpfs' id 
> 72 loaded @ 0xfffffffff7b13000/0xffffffffc0000000 size 29408/66432
> Jan 22 10:37:18 sfx4600 genunix: [ID 131579 kern.notice] installing tmpfs, 
> module id 72.
> Jan 22 10:37:18 sfx4600 genunix: [ID 943528 kern.notice] load 'fs/objfs' id 
> 73 loaded @ 0xfffffffff7b1b000/0xffffffffc00103a8 size 9488/1000
> Jan 22 10:37:18 sfx4600 genunix: [ID 131579 kern.notice] installing objfs, 
> module id 73.
> Jan 22 10:37:18 sfx4600 genunix: [ID 943528 kern.notice] load 'fs/sharefs' id 
> 74 loaded @ 0xfffffffff7b1e000/0xffffffffc00107b0 size 9344/1344
> Jan 22 10:37:18 sfx4600 genunix: [ID 131579 kern.notice] installing sharefs, 
> module id 74.
> Jan 22 10:37:18 sfx4600 unix: [ID 190185 kern.notice] SMBIOS v2.3 loaded 
> (3938 bytes)
> Jan 22 10:37:18 sfx4600 pseudo: [ID 129642 kern.notice] pseudo-device: 
> systrace0
> Jan 22 10:37:19 sfx4600 genunix: [ID 936769 kern.notice] systrace0 is 
> /pseudo/systr...@0
> Jan 22 10:37:19 sfx4600 pseudo: [ID 129642 kern.notice] pseudo-device: sdt0
> Jan 22 10:37:19 sfx4600 genunix: [ID 936769 kern.notice] sdt0 is 
> /pseudo/s...@0
> Jan 22 10:37:19 sfx4600 pseudo: [ID 129642 kern.notice] pseudo-device: 
> profile0
> Jan 22 10:37:19 sfx4600 genunix: [ID 936769 kern.notice] profile0 is 
> /pseudo/prof...@0
> Jan 22 10:37:19 sfx4600 pseudo: [ID 129642 kern.notice] pseudo-device: 
> lx_systrace0
> Jan 22 10:37:19 sfx4600 genunix: [ID 936769 kern.notice] lx_systrace0 is 
> /pseudo/lx_systr...@0
> Jan 22 10:37:19 sfx4600 pseudo: [ID 129642 kern.notice] pseudo-device: 
> lockstat0
> Jan 22 10:37:19 sfx4600 genunix: [ID 936769 kern.notice] lockstat0 is 
> /pseudo/locks...@0
> Jan 22 10:37:19 sfx4600 pseudo: [ID 129642 kern.notice] pseudo-device: fbt0
> Jan 22 10:37:19 sfx4600 genunix: [ID 936769 kern.notice] fbt0 is 
> /pseudo/f...@0
> Jan 22 10:37:19 sfx4600 pseudo: [ID 129642 kern.notice] pseudo-device: 
> fasttrap0
> Jan 22 10:37:19 sfx4600 genunix: [ID 936769 kern.notice] fasttrap0 is 
> /pseudo/fastt...@0
> Jan 22 10:37:19 sfx4600 pseudo: [ID 129642 kern.notice] pseudo-device: dtrace0
> Jan 22 10:37:19 sfx4600 genunix: [ID 936769 kern.notice] dtrace0 is 
> /pseudo/dtr...@0
> Jan 22 10:37:19 sfx4600 dtrace: [ID 566105 kern.notice] NOTICE: enabling 
> probe 0 (fbt::emlxs_attach:entry)
> Jan 22 10:37:19 sfx4600 dtrace: [ID 566105 kern.notice] NOTICE: enabling 
> probe 1 (fbt:pcplusmp::)
> Jan 22 10:37:19 sfx4600 dtrace: [ID 566105 kern.notice] NOTICE: enabling 
> probe 2 (fbt::emlxs_attach:return)
> Jan 22 10:37:19 sfx4600 dtrace: [ID 566105 kern.notice] NOTICE: enabling 
> probe 3 (dtrace:::ERROR)
> .....

_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to