1.kobject结构体
struct kobject {
const char *name;
struct list_head entry;
struct kobject *parent;
struct kset *kset;
struct kobj_type *ktype;
struct sysfs_dirent *sd;
struct kref kref;
unsigned int state_initialized:1;
unsigned int state_in_sysfs:1;
unsigned int state_add_uevent_sent:1;
unsigned int state_remove_uevent_sent:1;
unsigned int uevent_suppress:1;
};
|
2. 如何添加到kset的?
先把kobject的kset成员指向目的kset,即包含这个kobject的kset;
调用kobject_add(kobj) --> kobj_kset_join(kobj), kobj_kest_join函数的作用就是把kobj自身加入到自身的kset的链表里面。
首先,kobject已经指向包含本身的kset中了;
其次,kobj_kset_join把kobject加到自己成员kset中去;
最后,kobject就添加到了包含这个kset中去了。
在这个函数中把自己&kobj添加到kest中去。
Identify performance bottlenecks with OProfile for Linux on POWER
http://www.ibm.com/developerworks/systems/library/es-oprofile/
阅读(748) | 评论(0) | 转发(0) |