init_notifier
Begin to register:
register test_notifier1 completed
register test_notifier2 completed
register test_notifier3 completed
Begin to notify:
==============================
In Event 1: Event Number is 1
In Event 2: Event Number is 1
In Event 3: Event Number is 1
==============================
总结: 内核中的许多系统(特别是网络部分)是对内核中某个结构所发生的变化是非常“感兴趣”的;当某个结构发生变化时,需要通知其他各个系统,以便内核全局上达到更新的目的。举例来说,当某个netdevice发生变化时(ifconfig down),通知链会调用netdev_chain上所有注册的回调函数,这时网络系统中的所有子系统会对该netdevice发生的变化作出全局性的更新:网桥通知块br_device_notifier就会调用br_device_event,针对NETDEV_DOWN事件做成更新;相应的vlan子系统也会做成更新。
总之,当通知链被触发时,位于该链上的所有通知块的回掉函数都将会调用。