⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 profile.c

📁 这个linux源代码是很全面的~基本完整了~使用c编译的~由于时间问题我没有亲自测试~但就算用来做参考资料也是非常好的
💻 C
字号:
/* *	linux/arch/i386/kernel/profile.c * *	(C) 2002 John Levon <levon@movementarian.org> * */#include <linux/config.h>#include <linux/sched.h>#include <linux/profile.h>#include <linux/spinlock.h>#include <linux/notifier.h>#include <asm/smp.h>#include <linux/irq.h> static struct notifier_block * profile_listeners;static rwlock_t profile_lock = RW_LOCK_UNLOCKED; int register_profile_notifier(struct notifier_block * nb){	int err;	write_lock_irq(&profile_lock);	err = notifier_chain_register(&profile_listeners, nb);	write_unlock_irq(&profile_lock);	return err;}int unregister_profile_notifier(struct notifier_block * nb){	int err;	write_lock_irq(&profile_lock);	err = notifier_chain_unregister(&profile_listeners, nb);	write_unlock_irq(&profile_lock);	return err;}void x86_profile_hook(struct pt_regs * regs){	/* we would not even need this lock if	 * we had a global cli() on register/unregister	 */ 	read_lock(&profile_lock);	notifier_call_chain(&profile_listeners, 0, regs);	read_unlock(&profile_lock);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -