Messages in this thread | | | From | Mike Waychison <> | Date | Fri, 17 Aug 2012 14:27:40 -0700 | Subject | Re: [RFC][PATCH 2/2] efi_pstore: Introducing workqueue updating sysfs entries |
| |
On Fri, Aug 17, 2012 at 2:15 PM, Seiji Aguchi <seiji.aguchi@hds.com> wrote: > >> I'm not a fan of creating a periodic timer that wakes up here to check for an event that should be considered very rare. >> >> Can this just become scheduled work? Scheduling work itself is a very lightweight process and should be relatively safe to do from a >> pstore write. > > I agree that the periodic timer is heavy a bit. > But I would like to keep a write callback simple as much as possible in panic situation. > For example, I'm concerned that efi_pstore hangs up due to some spin_locks related workqueue like gcwq->lock. > > Also, a situation which this workqueue is needed is just oops case because, system will be down and users can't access to sysfs files > in other cases, panic, reboot and emergency_restart. > > So, Can I call schedule_work in oops case only as follows? > > efi_pstore_write() > { > <write log to NVRAM> > > if (reason != KMSG_DUMP_OOPS) > return; > > schedule_work()
You could, but why not always just schedule_work()? If we are hosed by broken workqueue/scheduler locking, the user isn't going to see those files in sysfs either way :) If you are going to insist that we shouldn't schedule_work() in the other cases, I'd prefer:
/* The user may want to see an entry for this write in sysfs. */ if (reason == KMSG_DUMP_OOPS) schedule_work(...);
> > }
| |