首页 > 代码库 > 内核启动tick(节拍)值打印

内核启动tick(节拍)值打印

[    0.525000] NTFS driver 2.1.30 [Flags: R/W].
[    0.525000] JFFS2 version 2.2. (NAND) (SUMMARY)  漏 2001-2006 Red Hat, Inc.
[    0.530000] msgmni has been set to 116
[    0.540000] io scheduler noop registered
[    0.540000] io scheduler deadline registered
[    0.540000] io scheduler cfq registered (default)
[    0.570000] Console: switching to colour frame buffer device 60x34
[    0.575000] fb0: s3c2410fb frame buffer device
[    0.595000] s3c2440-uart.0: ttyS0 at MMIO 0x50000000 (irq = 70) is a S3C2440
[    0.600000] s3c2440-uart.1: ttyS1 at MMIO 0x50004000 (irq = 73) is a S3C2440
[    0.605000] s3c2440-uart.2: ttyS2 at MMIO 0x50008000 (irq = 76) is a S3C2440
[    0.615000] brd: module loaded
[    0.640000] loop: module loaded
[    0.650000] S3C24XX NAND Driver, (c) 2004 Simtec Electronics
[    0.650000] s3c24xx-nand s3c2440-nand: Tacls=3, 29ns Twrph0=7 69ns, Twrph1=3 29ns
[    0.655000] s3c24xx-nand s3c2440-nand: NAND soft ECC
[    0.660000] NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
[    0.665000] Scanning device for bad blocks
[    0.705000] Bad eraseblock 620 at 0x000004d80000
[    0.705000] Bad eraseblock 649 at 0x000005120000
[    0.720000] Bad eraseblock 858 at 0x000006b40000
[    0.725000] Bad eraseblock 903 at 0x0000070e0000
[    0.790000] Creating 4 MTD partitions on "NAND":
[    0.790000] 0x000000000000-0x000000100000 : "u-boot  === 1M"
[    0.805000] 0x000000100000-0x000000500000 : "App     === 4M"
[    0.810000] 0x000000500000-0x000000a00000 : "Kernel  === 5M"
[    0.815000] 0x000000a00000-0x000010000000 : "FS      === ALL"
[    0.825000] UBI: attaching mtd3 to ubi0
[    0.825000] UBI: physical eraseblock size:   131072 bytes (128 KiB)
[    0.830000] UBI: logical eraseblock size:    129024 bytes
[    0.835000] UBI: smallest flash I/O unit:    2048
[    0.840000] UBI: sub-page size:              512
[    0.845000] UBI: VID header offset:          512 (aligned 512)
[    0.850000] UBI: data offset:                2048
[    1.175000] UBI: max. sequence number:       39
[    1.200000] UBI: attached mtd3 to ubi0
[    1.200000] UBI: MTD device name:            "FS      === ALL"
[    1.205000] UBI: MTD device size:            246 MiB
[    1.210000] UBI: number of good PEBs:        1964
[    1.210000] UBI: number of bad PEBs:         4
[    1.215000] UBI: number of corrupted PEBs:   0
[    1.220000] UBI: max. allowed volumes:       128
[    1.225000] UBI: wear-leveling threshold:    4096
[    1.230000] UBI: number of internal volumes: 1
[    1.235000] UBI: number of user volumes:     1
[    1.240000] UBI: available PEBs:             0
[    1.245000] UBI: total number of reserved PEBs: 1964
[    1.250000] UBI: number of PEBs reserved for bad PEB handling: 19
这样的界面看着貌似很高端;很多人误认为前面是系统启动的时间,其实不然。

打印出的是系统启动到打印时刻的系统的tick值,printk实现的时候内部附加上的。
硬件给内核提供一个系统定时器用以计算和管理时间,内核通过编程预设系统定时器的频率,即节拍率(tick rate),每一个周期称作一个tick(节拍)。Linux内核从2.5版内核开始把频率从100调高到1000(当然带来了很多优点,也有一些缺点).
那么如何添加呢?

make menuconfig
Kernel hacking  --->  
[*] Show timing information on printks 

OK,重新编译下载即可看到效果。

内核启动tick(节拍)值打印