Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1675854 > unrolled thread

Re: [RFC][PATCHv3 5/5] printk: register PM notifier

Started byPetr Mladek <pmladek@suse.com>
First post2017-06-27 16:50 +0200
Last post2017-06-27 16:50 +0200
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [RFC][PATCHv3 5/5] printk: register PM notifier Petr Mladek <pmladek@suse.com> - 2017-06-27 16:50 +0200

#1675854 — Re: [RFC][PATCHv3 5/5] printk: register PM notifier

FromPetr Mladek <pmladek@suse.com>
Date2017-06-27 16:50 +0200
SubjectRe: [RFC][PATCHv3 5/5] printk: register PM notifier
Message-ID<tWZYt-1RV-9@gated-at.bofh.it>
On Wed 2017-05-31 15:42:24, Sergey Senozhatsky wrote:
> On (05/30/17 11:55), Petr Mladek wrote:
> > BTW: Do you know about some locations that would need to be
> > patched explicitly, for example, kexec?
> 
> a tricky question and I need to think more. I'm a bit overloaded
> with some other stuff now, sorry for long replies.

Same here.

> in case of kexec_image->preserve_context my assumption was that
> PM would send out PM notifications. but it seems that I need to have
> a second look. quite possible we will have to register yet another
> PM notifier - add syscore_ops to syscore_ops_list via
> register_syscore_ops() - the one that would be called from
> syscore_suspend().

syscore_suspend() is called also in many other locations. Also it
might be too late. For example, in the chain:

  hybernate()
   power_down()
     hibernation_platform_enter()
       syscore_suspend()

PM_HIBERNATION_PREPARE notifiers are called much earlier
in hybernate().


> the other branch invokes kernel_restart_prepare(), which updates
> `system_statem' variable and we test it in console_offload_printing().

Sounds promissing.


> some other cases also update `system_statem'. the exception is maybe
> sysrq emergency restart. but I'm a bit uncertain here. on one hand the
> expected emergency restart behavior is "just reboot the system, OK?",
> on the other hand there are people who expect kernel log messages to
> be flushed before that "just reboot the system" thing.
> 
> > Some old versions of this patch touched console_suspend().
> > This brought me to snapshot_ioctl(). It looks like an
> > API that allows to create snapshots from user space.
> > I wonder if we should switch to the emergency mode
> > there are well, probably in the SNAPSHOT_FREEZE
> > stage.
> 
> my assumption was that PM ioctl sends out PM notifications.
> see snapshot_open()/snapshot_release().

Great catch! I have missed this. It seems that the open()
funtion really has to be called before any ioctl() stuff
and we are on the safe side.

Best Regards,
Petr

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web