Re: [RFC 0/8] Xarray object migration V1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 27, 2017 at 04:06:36PM -0600, Christoph Lameter wrote:
> This is a patchset on top of Matthew Wilcox Xarray code and implements
> object migration of xarray nodes. The migration is integrated into
> the defragmetation and shrinking logic of the slab allocator.
.....
> This is only possible for xarray for now but it would be worthwhile
> to extend this to dentries and inodes.

Christoph, you keep saying this is the goal, but I'm yet to see a
solution proposed for the atomic replacement of all the pointers to
an inode from external objects.  An inode that has no active
references still has an awful lot of passive and internal references
that need to be dealt with.

e.g. racing page operations accessing mapping->host, the inode in
various lists (e.g. superblock inode list, writeback lists, etc),
the inode lookup cache(s), backpointers from LSMs, fsnotify marks,
crypto information, internal filesystem pointers (e.g. log items,
journal handles, buffer references, etc) and so on. And each
filesystem has a different set of passive references, too.

Oh, and I haven't even mentioned deadlocks yet, either. :P

IOWs, just saying "it would be worthwhile to extend this to dentries
and inodes" completely misrepresents the sheer complexity of doing
so. We've known that atomic replacement is the big problem for
defragging inodes and dentries since this work was started, what,
more than 10 years? And while there's been many revisions of the
core defrag code since then, there has been no credible solution
presented for atomic replacement of objects with complex external
references. This is a show-stopper for inode/dentry slab defrag, and
I don't see that this new patchset is any different...

Cheers,

Dave.
-- 
Dave Chinner
dchinner@xxxxxxxxxx

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]
  Powered by Linux