On mar., 2016-12-13 at 14:25 +0000, Ard Biesheuvel wrote: > On 12 December 2016 at 01:51, Kefeng Wang <wangkefeng.w...@huawei.com> wrote: > > > > > > On 2016/12/9 22:55, Ard Biesheuvel wrote: > >> On 9 December 2016 at 06:54, Kefeng Wang <wangkefeng.w...@huawei.com> > >> wrote: > >>> Let's keep consistent when print dmi_ids_string between SMBIOS 2.x > >>> and SMBIOS 3.x, and always show the system identification string, > >>> like Vendor, Product/Board name and BIOS infos. > >>> > >> > >> Are you saying the printk(KERN_DEBUG) was inconsistent with the > >> pr_debug() before? > > > > Yes, found it when check the boot dmesg on qemu, there is no print using > > pr_debug > > with defconfig on ARM64( smbios3 present), but could shown with > > printk(KERN_DEBUG. > > > > That's interesting. I would assume pr_debug and printk(KERN_DEBUG) to > behave identically ...
And you'd be wrong ;-) >From include/linux/printk.h: 304 #if defined(CONFIG_DYNAMIC_DEBUG) 305 #include <linux/dynamic_debug.h> 306 307 /* dynamic_pr_debug() uses pr_fmt() internally so we don't need it here */ 308 #define pr_debug(fmt, ...) \ 309 dynamic_pr_debug(fmt, ##__VA_ARGS__) 310 #elif defined(DEBUG) 311 #define pr_debug(fmt, ...) \ 312 printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) 313 #else 314 #define pr_debug(fmt, ...) \ 315 no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) 316 #endif Which basically means that pr_debug() has no effect unless debugging is actually enabled, while printk(KERN_DEBUG ...) is always printed by the kernel (with a log level which may or may not make it to a specific output.) -- Jean Delvare SUSE L3 Support