From: Johannes Hirte <johannes.hirte@datenkhaos.de>
To: Josef Bacik <jbacik@fb.com>
Cc: <linux-btrfs@vger.kernel.org>
Subject: Re: [PATCH] Btrfs: throttle delayed refs better
Date: Wed, 5 Feb 2014 23:57:32 +0100 [thread overview]
Message-ID: <20140205235732.04263a51@datenkhaos.de> (raw)
In-Reply-To: <52F2B151.70307@fb.com>
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
regards,
Johannes
next prev parent reply other threads:[~2014-02-05 22:57 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 [this message]
2014-02-06 15:14 ` Josef Bacik
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=20140205235732.04263a51@datenkhaos.de \
--to=johannes.hirte@datenkhaos.de \
--cc=jbacik@fb.com \
--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.