i am reading the sysctl code about linux kernel 3.3.8 in function __register_sysctl_paths of sysctl.c why call try_attach on every entry of the list, what is the meaning of 'improvement' on "/* see if attaching q to p would be an improvement */ static void try_attach(struct ctl_table_header *p, struct ctl_table_header *q)"?
for (set = header->set; set; set = set->parent) {
struct ctl_table_header *p;
list_for_each_entry(p, &set->list, ctl_entry) {
if (p->unregistering)
continue;
try_attach(p, header);
}
}
i am confused by these statements.