GNU/Linux >> Linux Esercitazione >  >> Linux

In che modo le funzioni della famiglia dev_*() sono utili durante il debug del kernel Linux?

Il pr_*() le funzioni sono le stesse del semplice printk() , ma con KERN_xxx livello di log già incluso.

Il dev_*() le funzioni sono le stesse del corrispondente pr_*() funzioni, ma stampa anche informazioni identificative sul struct device .

Se il tuo messaggio è correlato a qualche dispositivo (come normalmente accade nei driver), dovresti usare dev_*() .Ad esempio, in un driver USB:

struct usb_device *usb_dev;
dev_info(&usb_dev->dev, "hello\n");

struct usb_interface *usb_intf;
dev_info(&usb_intf->dev, "hello\n");

o in un driver PCI:

struct pci_dev *pci;
dev_info(&pci->dev, "hello\n");

dev_* le funzioni sono simili a pr_* , ma stampa anche alcune informazioni sul dispositivo (struct device ), passato loro come primo argomento. Queste informazioni possono aiutare a filtrare il registro di sistema per i messaggi, appartenenti al dispositivo concreto.

Quindi, puoi usare dev_* function invece di pr_* ogni volta che il messaggio è applicabile a un dispositivo concreto (e ne hai il destritor).


Linux
  1. Linux:in che modo il kernel Linux conosce i numeri maggiori e minori del dispositivo?

  2. Linux:come determinare quale modulo contamina il kernel?

  3. Linux:quali sorgenti di entropia vengono utilizzate dal kernel Linux?

  4. Linux:quali sono i valori della proprietà degli interrupt dell'albero dei dispositivi?

  5. Come utilizzare il comando id in Linux:5 esempi utili

Come il kernel Linux gestisce gli interrupt

Come compilare un kernel Linux nel 21° secolo

Come controllare la versione del kernel in Linux

Come posso riservare un blocco di memoria dal kernel Linux?

In che modo Linux carica l'immagine "initrd"?

Come elencare l'albero dei dispositivi del kernel