Re: RFC Per group orphan list

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

 



  Hi,

> Currently orphan list is global, which require per-sb mutex
> to protect add/del from the list. But it is not really necessary.
> Just think about it we have to add inode to orphan list for each
> ->write_begin call(for each page) if i_size will grow.
  Really? I don't see we would add inode to orphan list on every
->write_begin. We only do it in case write fails (ENOSPC, page fault
or so) but that's not interesting performance wise. The place where
we do add inode to orphan list are truncate path and file extending
direct IO (which might be what you meant).

> For example btrfs support per-ctree orphan list.
> So IMHO per-group orphan list seems to be more natural here.
> So my proposal is following:
> 1) Introduce new incompat feature for per-group orphan list. 
> 2) Store per-group head of the list in group descriptor
>    (Where are several reserved fields in grp-desc).
> 3) Maintain per-group orphan which protected by per-group lst-mutex. 
> 4) Let fsck to scan group descriptors after unclean umount.Since they
>    are close to each other performance penalty will be negligible.
> 
> Seems that development complexity of this feature is not too high, 
> what do you think.
  If you can show it helps in some reasonably realistic load - several direct
IO writers might be interesting, I think it might be worth it. OTOH it will
complicate orphan recovery because that would have to scan all group
descriptors (and there is lots of them on a few TB filesystem). But that will
be probably fine since most of them will have empty list.

								Honza
-- 
Jan Kara <jack@xxxxxxx>
SuSE CR Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux