Messages in this thread | | | Date | Mon, 7 Sep 2009 14:51:30 +0200 | From | Pavel Machek <> | Subject | Re: Regression in suspend to ram in 2.6.31-rc kernels |
| |
Hi!
> >>> Note that when you rever this patch on a current kernel you do actually > >>> get different behvaviour than when going back to before this commit. > >>> > >>> In 2.6.30 we called ->write_super in the various sync functions and > >>> then ->sync_fs, in 2.6.31-rc8 you would not call any syncing at all > >>> anymore. ?I think this patch might just be a symptom for a situation > >>> where the suspend code causes a sync and the mmc driver can't handle > >>> it anymore. > > > > So - here is the console trace from suspend when I've added > > dump_stack() to the fat_sync_fs() (and also added debug prints > > around each call in this function -so its obvious the function is > > actually left - but then it freezes later somewhere.) > > > > It's interesting that 3 calls to sync happens. > > 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?
-- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
| |