lkml.org 
[lkml]   [2007]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC 0/8] Cpuset aware writeback
    > On Wed, 17 Jan 2007 17:10:25 -0800 (PST) Christoph Lameter <clameter@sgi.com> wrote:
    > On Wed, 17 Jan 2007, Andrew Morton wrote:
    >
    > > > The inode lock is not taken when the page is dirtied.
    > >
    > > The inode_lock is taken when the address_space's first page is dirtied. It is
    > > also taken when the address_space's last dirty page is cleaned. So the place
    > > where the inode is added to and removed from sb->s_dirty is, I think, exactly
    > > the place where we want to attach and detach address_space.dirty_page_nodemask.
    >
    > The problem there is that we do a GFP_ATOMIC allocation (no allocation
    > context) that may fail when the first page is dirtied. We must therefore
    > be able to subsequently allocate the nodemask_t in set_page_dirty().
    > Otherwise the first failure will mean that there will never be a dirty
    > map for the inode/mapping.

    True. But it's pretty simple to change __mark_inode_dirty() to fix this.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-01-18 03:19    [W:5.247 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site