Comments

For a long time now orlov is the default block allocator in the ext4. It
performs better than the old one and no one seems to claim otherwise so
we can safely drop it and make oldalloc and orlov mount option
deprecated.
This is a part of the effort to reduce number of ext4 options hence the
test matrix.
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
---
Documentation/filesystems/ext4.txt | 8 --
fs/ext4/ext4.h | 1 -
fs/ext4/ialloc.c | 136 +-----------------------------------
fs/ext4/super.c | 8 +-
4 files changed, 7 insertions(+), 146 deletions(-)

On Mon 15-08-11 16:21:27, Lukas Czerner wrote:
> On Thu, 11 Aug 2011, Andreas Dilger wrote:> > On 2011-08-11, at 8:58 AM, Lukas Czerner wrote:> > > On Tue, 7 Jun 2011, Lukas Czerner wrote:> > >> For a long time now orlov is the default block allocator in the ext4. It> > >> performs better than the old one and no one seems to claim otherwise so> > >> we can safely drop it and make oldalloc and orlov mount option> > >> deprecated.> > >> > > >> This is a part of the effort to reduce number of ext4 options hence the> > >> test matrix.> > >> > > >> Signed-off-by: Lukas Czerner <lczerner@redhat.com>> > > > > > ping> > > > I'm OK with removing this, I don't think anyone uses it, and it has almost> > no meaning with flex_bg anyway.> > > > That said, "orlov" is also mostly meaningless with flex_bg as well, since> > there is very little real benefit/affinity from inodes being "close" to> > their data blocks. We gain far more benefit from keeping the inodes> > together than spreading them out and keeping them close to the data blocks.> > What about removing it for ext3 as well ? I can prepare a patch.
OK, let's start warning the option is deprecated and will be removed from
ext3. We can remove it after 2-3 releases...
> Also note that there is a bug in the OLDALLOC where if there is> approximately the same number of inodes in all of the allocation groups> it might result in the state where no group has less free inode count> than the average, hence we get ENOSPC even though there is enough space> for the inode to be allocated. It is unlikely, but it is there.
Fix for this would be nice.
> So Ted, could you take the patch ?
ext3 patches go through my tree.
Honza

On Mon, 15 Aug 2011, Jan Kara wrote:
> On Mon 15-08-11 16:21:27, Lukas Czerner wrote:> > On Thu, 11 Aug 2011, Andreas Dilger wrote:> > > On 2011-08-11, at 8:58 AM, Lukas Czerner wrote:> > > > On Tue, 7 Jun 2011, Lukas Czerner wrote:> > > >> For a long time now orlov is the default block allocator in the ext4. It> > > >> performs better than the old one and no one seems to claim otherwise so> > > >> we can safely drop it and make oldalloc and orlov mount option> > > >> deprecated.> > > >> > > > >> This is a part of the effort to reduce number of ext4 options hence the> > > >> test matrix.> > > >> > > > >> Signed-off-by: Lukas Czerner <lczerner@redhat.com>> > > > > > > > ping> > > > > > I'm OK with removing this, I don't think anyone uses it, and it has almost> > > no meaning with flex_bg anyway.> > > > > > That said, "orlov" is also mostly meaningless with flex_bg as well, since> > > there is very little real benefit/affinity from inodes being "close" to> > > their data blocks. We gain far more benefit from keeping the inodes> > > together than spreading them out and keeping them close to the data blocks.> > > > What about removing it for ext3 as well ? I can prepare a patch.> OK, let's start warning the option is deprecated and will be removed from> ext3. We can remove it after 2-3 releases...
Is that really necessary ? It is not like we are removing a feature which
would not work anymore.
> > > Also note that there is a bug in the OLDALLOC where if there is> > approximately the same number of inodes in all of the allocation groups> > it might result in the state where no group has less free inode count> > than the average, hence we get ENOSPC even though there is enough space> > for the inode to be allocated. It is unlikely, but it is there.> Fix for this would be nice.
Will, I was kind of hoping that we will ditch that instead of fixing it,
but I can do that if it is not going away right now.
> > > So Ted, could you take the patch ?> ext3 patches go through my tree.
I know, the was meant to the patch that started this thread which is for
ext4.
> > Honza>
Thanks!
-Lukas
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

On Mon 15-08-11 17:50:53, Lukas Czerner wrote:
> On Mon, 15 Aug 2011, Jan Kara wrote:> > On Mon 15-08-11 16:21:27, Lukas Czerner wrote:> > > On Thu, 11 Aug 2011, Andreas Dilger wrote:> > > > On 2011-08-11, at 8:58 AM, Lukas Czerner wrote:> > > > > On Tue, 7 Jun 2011, Lukas Czerner wrote:> > > > >> For a long time now orlov is the default block allocator in the ext4. It> > > > >> performs better than the old one and no one seems to claim otherwise so> > > > >> we can safely drop it and make oldalloc and orlov mount option> > > > >> deprecated.> > > > >> > > > > >> This is a part of the effort to reduce number of ext4 options hence the> > > > >> test matrix.> > > > >> > > > > >> Signed-off-by: Lukas Czerner <lczerner@redhat.com>> > > > > > > > > > ping> > > > > > > > I'm OK with removing this, I don't think anyone uses it, and it has almost> > > > no meaning with flex_bg anyway.> > > > > > > > That said, "orlov" is also mostly meaningless with flex_bg as well, since> > > > there is very little real benefit/affinity from inodes being "close" to> > > > their data blocks. We gain far more benefit from keeping the inodes> > > > together than spreading them out and keeping them close to the data blocks.> > > > > > What about removing it for ext3 as well ? I can prepare a patch.> > OK, let's start warning the option is deprecated and will be removed from> > ext3. We can remove it after 2-3 releases...> > Is that really necessary ? It is not like we are removing a feature which> would not work anymore.
Well, we are removing a mount option so if someone is using it e.g. in
/etc/fstab, his machine will fail to mount the filesystem. Or did I
misunderstood your intention?
Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

On Mon, 15 Aug 2011, Jan Kara wrote:
> On Mon 15-08-11 17:50:53, Lukas Czerner wrote:> > On Mon, 15 Aug 2011, Jan Kara wrote:> > > On Mon 15-08-11 16:21:27, Lukas Czerner wrote:> > > > On Thu, 11 Aug 2011, Andreas Dilger wrote:> > > > > On 2011-08-11, at 8:58 AM, Lukas Czerner wrote:> > > > > > On Tue, 7 Jun 2011, Lukas Czerner wrote:> > > > > >> For a long time now orlov is the default block allocator in the ext4. It> > > > > >> performs better than the old one and no one seems to claim otherwise so> > > > > >> we can safely drop it and make oldalloc and orlov mount option> > > > > >> deprecated.> > > > > >> > > > > > >> This is a part of the effort to reduce number of ext4 options hence the> > > > > >> test matrix.> > > > > >> > > > > > >> Signed-off-by: Lukas Czerner <lczerner@redhat.com>> > > > > > > > > > > > ping> > > > > > > > > > I'm OK with removing this, I don't think anyone uses it, and it has almost> > > > > no meaning with flex_bg anyway.> > > > > > > > > > That said, "orlov" is also mostly meaningless with flex_bg as well, since> > > > > there is very little real benefit/affinity from inodes being "close" to> > > > > their data blocks. We gain far more benefit from keeping the inodes> > > > > together than spreading them out and keeping them close to the data blocks.> > > > > > > > What about removing it for ext3 as well ? I can prepare a patch.> > > OK, let's start warning the option is deprecated and will be removed from> > > ext3. We can remove it after 2-3 releases...> > > > Is that really necessary ? It is not like we are removing a feature which> > would not work anymore.> Well, we are removing a mount option so if someone is using it e.g. in> /etc/fstab, his machine will fail to mount the filesystem. Or did I> misunderstood your intention?
It will not fail to boot, see the patch at the beginning of the thread.
It will just print KERN_WARNING that we are ignoring this option. Since
we are not removing a feature that will be missing, we can do that. Also
note that this is the same thing what we have done to nobh option, and
there are probably even other examples.
Thanks!
-Lukas
> > Honza>
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

On Thu, Aug 11, 2011 at 03:05:55PM -0600, Andreas Dilger wrote:
> > That said, "orlov" is also mostly meaningless with flex_bg as well, since> there is very little real benefit/affinity from inodes being "close" to> their data blocks. We gain far more benefit from keeping the inodes> together than spreading them out and keeping them close to the data blocks.
I'm going to be applying the patch remove the oldalloc allocator, but
just for the record --- Orlov *does* matter (which is why it's a good
thing the default allocator also uses an Orlov-like approach that's
flex_bg aware).
In fact, we saw significant latency drops that grew over time as more
and more blocks got allocated. I traced it back to using bigalloc,
which increased the average distance between the inode tables and the
data blocks.
So as you use larger bigalloc cluster sizes, which increases the block
group size, it's a good idea to decrease the flex_bg size. Which is
another way of saying that Orlov matters.
- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html