Re: Regression in suspend to ram in 2.6.31-rc kernels

Pavel Machek
2009-09-11T22:22:16Z

On Sat 2009-09-12 00:04:02, Rafael J. Wysocki wrote:
> On Friday 11 September 2009, OGAWA Hirofumi wrote:
> > Pavel Machek <pavel@ucw.cz> writes:
> >
> > > On Wed 2009-09-09 22:21:56, OGAWA Hirofumi wrote:
> > >> Pavel Machek <pavel@ucw.cz> writes:
> > >>
> > >> >> It seems
> > >> >>
> > >> >> 1) sync() (probabry "sync" command)
> > >> >> 2) sync as part of suspend sequence
> > >> >> 3) sync_filesystem() by mmc remove event
> > >> >>
> > >> >> I guess the root-cause of the problem would be 3). However, it would not
> > >> >> be easy to fix, at least, we would need to think about what we want to
> > >> >> do for it. So, to workaround it for now, I've made this patch.
> > >> >
> > >> > MMC driver trying to synchronize filesystems looks like ugly layering
> > >> > violation to me. Why are we doing that?
> > >>
> > >> There is no _layering violation_ here. IIRC, mmc just tells card removed
> > >> event to another layer (on some points of view, to tell event can be
> > >> wrong though). The partition (block) layer does it by event.
> > >
> > > So what is the problem? Emulating sync when card is already removed
> > > seems little ... interesting?
> >
> > Um..., sorry, I'm not sure what are you talking about. Of course, the
> > problem of this is that system freeze on suspend.
> >
> > Or are you asking my guess of the cause, or something? If so, although
> > I'm not reading all emails on this thread, from Zdenek's backtrace, the
> > sequence would be
> >
> > 1) suspend mmc
> > 2) mmc generates card removed event
>
> Which shouldn't happen.

Are you sure? IIRC it depends on CONFIG_MMC_UNSAFE_RESUME.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html