From: Josef Bacik <jbacik@fb.com>
To: Johannes Hirte <johannes.hirte@datenkhaos.de>
Cc: <linux-btrfs@vger.kernel.org>
Subject: Re: [PATCH] Btrfs: throttle delayed refs better
Date: Thu, 6 Feb 2014 10:14:41 -0500 [thread overview]
Message-ID: <52F3A6E1.8000900@fb.com> (raw)
In-Reply-To: <20140205235732.04263a51@datenkhaos.de>
On 02/05/2014 05:57 PM, Johannes Hirte wrote:
> On Wed, 5 Feb 2014 16:46:57 -0500
> Josef Bacik <jbacik@fb.com> wrote:
>
>> On 02/05/2014 04:42 PM, Johannes Hirte wrote:
>>> On Wed, 5 Feb 2014 14:36:39 -0500
>>> Josef Bacik <jbacik@fb.com> wrote:
>>>
>>>> On 02/05/2014 02:30 PM, Johannes Hirte wrote:
>>>>> On Wed, 5 Feb 2014 14:00:57 -0500
>>>>> Josef Bacik <jbacik@fb.com> wrote:
>>>>>
>>>>>> On 02/05/2014 12:34 PM, Johannes Hirte wrote:
>>>>>>> On Wed, 5 Feb 2014 10:49:15 -0500
>>>>>>> Josef Bacik <jbacik@fb.com> wrote:
>>>>>>>
>>>>>>>> Ok none of those make sense which makes me think it may be the
>>>>>>>> ktime bits, instead of un-applying the whole patch could you
>>>>>>>> just comment out the parts
>>>>>>>>
>>>>>>>> ktime_t start = ktime_get();
>>>>>>>>
>>>>>>>> and
>>>>>>>>
>>>>>>>> if (actual_count > 0) {
>>>>>>>> u64 runtime =
>>>>>>>> ktime_to_ns(ktime_sub(ktime_get(), start)); u64 avg;
>>>>>>>>
>>>>>>>> /*
>>>>>>>> * We weigh the current average higher than
>>>>>>>> our current runtime
>>>>>>>> * to avoid large swings in the average.
>>>>>>>> */
>>>>>>>> spin_lock(&delayed_refs->lock);
>>>>>>>> avg = fs_info->avg_delayed_ref_runtime * 3
>>>>>>>> + runtime; avg = div64_u64(avg, 4);
>>>>>>>> fs_info->avg_delayed_ref_runtime = avg;
>>>>>>>> spin_unlock(&delayed_refs->lock);
>>>>>>>> }
>>>>>>>>
>>>>>>>> in __btrfs_run_delayed_refs and see if that makes the problem
>>>>>>>> stop? If it does will you try chris's for-linus branch to see
>>>>>>>> if it still reproduces there? Maybe some patch changed
>>>>>>>> ktime_get() in -rc1 that is causing issues and we're just now
>>>>>>>> exposing it. Thanks,
>>>>>>> With the ktime bits disabled, I wasn't able to reproduce the
>>>>>>> problem anymore. With Chris' for-linus branch it took longer but
>>>>>>> still appeared.
>>>>>>>
>>>>>> Ok can you send your .config, maybe there's some weird time bug
>>>>>> being exposed. What kind of CPU do you have? Thanks,
>>>>>>
>>>>>> Josef
>>>>> It's a Core i5-540M, dualcore + hyperthreading
>>>> Ok while I'm doing this can you change
>>>> btrfs_should_throttle_delayed_refs to _always_ return 1, still with
>>>> all the ktime stuff commented out, and see if that causes the
>>>> problem to happen? Thanks,
>>> Yes it does. Same behavior as without ktime stuff commented out.
>>>
>> Ok perfect, can you send me a btrfs fi df of that volume, and do you
>> have any snapshots or anything? Thanks,
> btrfs fi df /
> Data, single: total=220.01GiB, used=210.85GiB
> System, DUP: total=8.00MiB, used=32.00KiB
> System, single: total=4.00MiB, used=0.00
> Metadata, DUP: total=4.00GiB, used=2.93GiB
> Metadata, single: total=8.00MiB, used=0.00
>
> No snapshots but several subvolumes. / itself is a seperate subvolume
> and subvol 0 only contains the other subvolumes (5 at moment). qgroups
> aren't enabled.
>
> mount options are noatime,inode_cache, if this matters
>
I've managed to reproduce on one of my test boxes at work, I'll get to
the bottom of this. Thanks,
Josef
next prev parent reply other threads:[~2014-02-06 15:14 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-23 18:07 [PATCH] Btrfs: throttle delayed refs better Josef Bacik
2014-01-24 7:34 ` Liu Bo
2014-01-24 14:53 ` Josef Bacik
2014-02-03 18:28 ` Johannes Hirte
2014-02-03 21:08 ` Josef Bacik
2014-02-03 22:53 ` Johannes Hirte
2014-02-04 14:12 ` Josef Bacik
2014-02-05 8:14 ` Johannes Hirte
2014-02-05 15:49 ` Josef Bacik
2014-02-05 17:34 ` Johannes Hirte
2014-02-05 19:00 ` Josef Bacik
2014-02-05 19:30 ` Johannes Hirte
2014-02-05 19:36 ` Josef Bacik
2014-02-05 21:42 ` Johannes Hirte
2014-02-05 21:46 ` Josef Bacik
2014-02-05 22:57 ` Johannes Hirte
2014-02-06 15:14 ` Josef Bacik [this message]
2014-02-06 21:19 ` Josef Bacik
2014-02-14 19:25 ` Johannes Hirte
2014-02-14 19:29 ` Josef Bacik
2014-02-15 17:42 ` Johannes Hirte
2014-02-05 22:22 ` Josef Bacik
2014-02-27 15:38 ` 钱凯
2014-02-27 15:56 ` Josef Bacik
2015-10-14 15:46 ` Alex Lyakas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52F3A6E1.8000900@fb.com \
--to=jbacik@fb.com \
--cc=johannes.hirte@datenkhaos.de \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.