[lkml]   [2009]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Regression in suspend to ram in 2.6.31-rc kernels
    Christoph Hellwig <> writes:

    > On Fri, Sep 04, 2009 at 12:29:04AM +0200, Zdenek Kabelac wrote:
    >> Ok - another bisect game played - and unexpected winner is:
    >> (fat: add ->sync_fs)
    >> f83d6d46e7adf241a064a4a425e5cd8a8fd8925f
    >> Reverting this commit with current -rc8 kernel makes the system happy
    >> during the suspend/resume cycle. Obviously it has it price :) so just
    >> plain revert is probably not a good solution so the problem looks
    >> 'more serious' (fat is not the only fs with this patch) thus adding
    >> original author to this thread.

    From it, I suspect the possible reason seems to read mmc after remove
    event. I.e. the following sequence or something

    sync fs process
    removed mmc event
    fat_sync_fs() <- sync again?
    sb_bread() <- read block on removed mmc

    Can you add dump_stack() to the top of fat_sync_fs()? I hope it tells
    why fat_sync_fs() is called (it is called from device unplug event?).

    Well, that commit seems a bit strange. It calls fat_clusters_flush()
    unconditionally without checking sb->s_dirt. However, if my guess is
    right, "sync after removed event" itself sounds like the issue in
    suspend process.


    > 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.
    OGAWA Hirofumi <>

     \ /
      Last update: 2009-09-04 02:51    [W:0.021 / U:136.404 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site