Re: ceph fs snaptrim speed

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

 



Hi Dan,

thanks for the fast reply. Yes, I think the doc should be updated, because:

> if (osd_snap_trim_sleep > 0)
>     return osd_snap_trim_sleep;

means "a value of osd_snap_trim_sleep>0 will override backend specific variants.", which is very different from the current formulation. The current formulation implies, strictly speaking, that osd_snap_trim_sleep will *always* be used and there is no point for even having the other options.

Apart from that, I wonder if it is a good idea to have such an inconsistency in how options are applied. There is the good old software engineering paradigm of "closeness". The closer an option to its object, the higher its precedence. Like any settings in your /home override global settings and so on. More specific options should always override less specific options. But as a bare minimum, the options should at least behave the same (=parallelism, also a good old software paradigm). The current behaviour seems to violate more or less all of this.

I would expect and also prefer that all options behave the same, that is,

deamon specific (eg. osd.0) overrides masked (eg. class:hdd) overrides built-in specific (*_hdd) overrides daemon group (eg. ceph config osd) overrides global defaults (eg. ceph config global ...)

Then I don't have to look at docs all the time to figure out what works how. It would all be the same.

Thanks again!
=================
Frank Schilder
AIT Risø Campus
Bygning 109, rum S14

________________________________________
From: Dan van der Ster <dvanders@xxxxxxxxx>
Sent: 24 February 2022 12:31:11
To: Frank Schilder
Cc: ceph-users
Subject: Re:  ceph fs snaptrim speed

Hi Frank,

The semantic of osd_snap_trim_sleep was copied from osd_delete_sleep.

The general setting "osd_snap_trim_sleep" is used only to override the
_hdd _hybrid _ssd tuned values.

Here's the code to get the effective sleep value:

if (osd_snap_trim_sleep > 0)
    return osd_snap_trim_sleep;
if (!store_is_rotational && !journal_is_rotational)
    return osd_snap_trim_sleep_ssd
if (store_is_rotational && !journal_is_rotational)
    return osd_snap_trim_sleep_hybrid
return osd_snap_trim_sleep_hdd


Do you think the doc needs to be updated?

Cheers, Dan


On Thu, Feb 24, 2022 at 12:27 PM Frank Schilder <frans@xxxxxx> wrote:
>
> I seem to have the opposite problem with fs snaptrim progress as others recently. I would like to speed it up. I looked at the docs and find the description of osd_snap_trim_sleep* (https://docs.ceph.com/en/latest/rados/configuration/osd-config-ref/#confval-osd_snap_trim_sleep) counter-intuitive and confusing.
>
> For osd_snap_trim_sleep it says "This option overrides backend specific variants.", which is exactly the opposite of how other options are applied, for example, the osd_memory_target family of options. The usual way is that more specific options (back-end specific) supersede less specific options (general defaults). What is correct? Is the overall default sleep=0 for all types of OSDs, or is it 5s(=osd_snap_trim_sleep_hdd) for HDDs?
>
> If the documentation is wrong, please correct.
>
> Thanks and best regards,
> =================
> Frank Schilder
> AIT Risø Campus
> Bygning 109, rum S14
> _______________________________________________
> ceph-users mailing list -- ceph-users@xxxxxxx
> To unsubscribe send an email to ceph-users-leave@xxxxxxx
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx




[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux