Re: [patch] add kdump_after_notifier

Bernhard Walle
2007-08-21T13:21:36Z

* Jay Lan <jlan@sgi.com> [2007-08-21 15:18]:
> Vivek Goyal wrote:
> > On Thu, Aug 16, 2007 at 06:26:35PM +0900, Takenori Nagano wrote:
> >> Vivek Goyal wrote:
> >> > So for the time being I think we can put RAS tools on die notifier list
> >>> and if it runs into issues we can always think of creating a separate list.
> >>>
> >>> Few things come to mind.
> >>>
> >>> - Why there is a separate panic_notifier_list? Can't it be merged with
> >>> die_chain? die_val already got one of the event type as PANIC. If there
> >>> are no specific reasons then we should merge the two lists. Registering
> >>> RAS tools on a single list is easier.
> >> I think it is difficult, because die_chain is defined by each architecture.
> >>
> >
> > I think die_chain is arch independent definition (kernel/die_notifier.c)?
> > But anyway, to begin with it can be done only for panic_notifier.
> >
> >>> - Modify Kdump to register on die_chain list.
> >>> - Modify Kdb to register on die_chain list.
> >>> - Export all the registered members of die_chain through sysfs along with
> >>> their priorities. Priorities should be modifiable. Most likely one
> >>> shall have to introduce additional field in struct notifier_block. This
> >>> field will be a string as an identifier of the user registerd. e.g
> >>> "Kdump", "Kdb" etc.
> >>>
> >>> Now user will be able to view all the die_chain users through sysfs and
> >>> be able to modify the order in which these should run by modifying their
> >>> priority. Hence all the RAS tools can co-exist.
> >> This is my image of your proposal.
> >>
> >> - Print current order
> >>
> >> # cat /sys/class/misc/debug/panic_notifier_list
> >> priority name
> >> 1 IPMI
> >> 2 watchdog
> >> 3 Kdb
> >> 4 Kdump
> >>
> >
> > I think Bernhard's suggestion looks better here. I noticed that
> > /sys/kernel/debug is already present. So how about following.
> >
> > /sys/kernel/debug/kdump/priority
> > /sys/kernel/debug/kdb/priority
> > /sys/kernel/debug/IPMI/priority
>
> Why separate priority files is better than a central file?
> At least i think you get a grand picture of priority being
> defined for all parties with a central file?

Well, it's more intuitive to set the priority in that case. You don't
have to know a special syntax. However, it may be a good idea to
implement a second read-only file that lists the sorted priorities in
that order the kernel executues the handlers the handlers.

> What do we decide priority if more than one component has
> the same priority value?

You can check this and return EINVAL in that case.

Thanks,
Bernhard