Articles of linux kernel

如何从linux utils编译* only * uuid

我有Linux utils代码(可以在这里find: https ://www.kernel.org/pub/linux/utils/util-linux/),我只需要libuuid,没有别的。 我试过设置很多'–disable-'标志,但它似乎仍然在编译我不需要的东西。 这是我的实际configuration命令: ./configure –disable-libblkid –disable-libmount –disable-mount –disable-losetup –disable-cytune –disable-fsck –disable-partx –disable-uuidd –disable-mountpoint –disable-fallocate –disable-unshare –disable-nsenter –disable-setpriv –disable-eject –disable-agetty –disable-cramfs –disable-bfs –disable-fdformat –disable-hwclock –disable-wdctl –disable-switch_root –disable-pivot_root –disable-kill –disable-last –disable-utmpdump –disable-mesg –disable-raw –disable-rename –disable-login –disable-nologin –disable-sulogin –disable-su –disable-runuser –disable-ul –disable-more –disable-pg –disable-setterm –disable-schedutils –disable-wall –build="$BUILD_ARCH" –host="$HOST_ARCH" –prefix="$outputdir" –exec-prefix="$outputdir" 这是我的输出: <…build things including libuuid…> […]

注册中断处理程序时,IRQF_SAMPLE_RANDOM标志指定了什么?

在request_irq()中注册中断处理程序,为什么我们使用标志IRQF_SAMPLE_RANDOM和什么是熵池?

Linux内核2.6.32或更高版本中为每个net_device存储的私有数据在哪里?

对于早于2.6.31的Linux内核2.4或2.6,每个注册networking设备的net_device结构都有一个私有数据块,它由net_device结构中的priv指针指向。 但是,对于内核版本2.6.32或更高版本, priv指针已被弃用。 我想知道现在networking接口驱动程序的私人数据可以存储在哪里。 有没有人清除net_device结构的相对较新的实现? 提前致谢。

未能通过iptables-restore应用防火墙规则

以下是我的iptables的configuration, [root@fabulous ~]# vi /etc/sysconfig/iptables # Generated by iptables-save v1.4.7 on Mon Dec 23 15:55:09 2013 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT – [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p udp […]

为什么MMIO空间映射到/ dev / mem作为单个PTE,所以没有结构页面?

在Linux上,MMIO空间被映射(例如通过/ dev / mem,通过调用remap_pfn_range() )作为单个PTE,所以没有结构页面。 为什么Linux不会用struct page创build很多PTE?

内核安装会导致缺less模块错误

我从3.14到3.19安装一个Linux内核,当我运行命令: make O=$BUILD install 我得到了几个错误信息,说没有lib / module目录。 在此之前,我已经编译了内核,并将创build的bzImage与system.map和.config一起复制到boot中。 update-initramfs: Generating /boot/initrd.img-3.19.0 WARNING: missing /lib/modules/3.19.0 Device driver support needs thus be built-in linux image! depmod: ERROR: could not open directory /lib/modules/3.19.0: No such file or directory depmod: FATAL: could not search modules: No such file or directory depmod: WARNING: could not open /tmp/mkinitramfs_6tPRIQ/lib/modules /3.19.0/modules.order: No such […]

覆盖内核的重复设备驱动程序

我试图用我的Linux设备驱动程序更新内核,但内核提供相同的驱动程序。 根据/etc/depmod.d/dist.conf中的驱动程序优先级,内置的驱动程序优先于弱更新。 有办法通过在/etc/depmod.d/yourdriver.conf覆盖sym53c8xx 2.6.32- * weak-updates / sym53c8xx http://people.redhat.com/jcm/ EL6 / DUP /文档/ dup_book.pdf 然而,我想同样的事情,但它不包括我的驱动程序后,我运行depmod。 有没有人在这之前做过? 任何帮助表示赞赏。

如何在内核中使用性能计数器?

我想访问内核中的性能计数器。 我发现在用户空间中使用性能计数器的方法很多,但是可以告诉我一些在内核空间中使用性能计数器的方法。 请不要指定工具名称 ,我想写我自己的代码,最好是一个内核模块。 我使用内核3.18.1的Ubuntu。

什么是hrtick_clear(rq); 在Linux调度?

在__scheduler()函数里面经历linux内核代码时,我看到了hrtick_clear(rq)。 任何人都可以解释这是什么,为什么它被使用? 这似乎与计时器有关,但无法进一步处理。

我怎么知道一个过程的最后一个调度时间

我目前遇到一个问题,一个进程似乎卡住某种程度上,它只是没有计划,状态总是'S'。 我有一段时间通过debugfs监视sched_switch_task跟踪,没有看到进程得到预定。 所以我想知道内核最后一次计划这个进程的时间是什么时候? 非常感谢。