| To: | Dave Chinner <david@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH] xfs: use percpu_counter_compare instead of naive comparing |
| From: | çæ <xuw2015@xxxxxxxxx> |
| Date: | Fri, 17 Apr 2015 15:15:21 +0800 |
| Cc: | xfs@xxxxxxxxxxx |
| Delivered-to: | xfs@xxxxxxxxxxx |
| Dkim-signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=aazHGilcP3nvYEOTZQifrzLwZcSMKUq6i/kzhGemiX0=; b=Z7uWhl+/GYlKWv44+stJH5Cm8210vpZzClscuKvXx7Obmh9LmjQVXz26YU94+ngEt5 5WSCVaX12GVD/lwfR+DD4lzasgvCaqMn097fYIYI2H2uGKYJxGCO7V1XPS8p6s4ggr36 mxh4Q5nfNpMq+JY5DIIOz7HE5HRmgB0cRDb7tJh/gnrJljuJWTT8CHwGdN6IAbMzo1zN p8NSy0fYQKL+jJLvxvVqYGpmZskRRIiw7cXOtRbxVsDgavDe+q5es7cow8ousVeTfMPv SHa9GbOViudMbkC9qFQi1EtxpayfnLvtqVK89I6oLbbzRwbtykZl9DERWxfPVTb7f5ja HNqg== |
| In-reply-to: | <20150417040605.GE15810@dastard> |
| References: | <1429237344-5668-1-git-send-email-xuw2015@xxxxxxxxx> <20150417040605.GE15810@dastard> |
On Fri, Apr 17, 2015 at 12:06 PM, Dave Chinner <david@xxxxxxxxxxxxx> wrote: > On Fri, Apr 17, 2015 at 10:22:24AM +0800, xuw2015@xxxxxxxxx wrote: >> From: George Wang <xuw2015@xxxxxxxxx> >> >> Function percpu_counter_read just return the current counter, regardless of >> every cpu's count. This counter can be negative value, which will cause the >> checking of "allocated inode counts <= m_maxicount" false positive. > > Have you actually seen this, or is it just theoretical? I produced it by running unionmount-testsuites for overlay, based xfs as upper and lowerdir. I think I can extract the procedure to reproduce it. >> Commit 501ab3238753 "xfs: use generic percpu counters for inode counter <snip> > The correct fix is to use percpu_counter_read_positive(), because in > the majority of cases args.mp->m_maxicount is orders of magnitude > larger (20 million inodes per 100GB of fs space for small filesystems) > than the unaggregated per-cpu counts can cause the sum to go > negative. Hence if it is negative, it may as well be zero because it > makes no difference to the default threshold configurations. Thanks for the explanation, and I agree that totally. Besides, shall we use the exact count in xfs_fs_counts? Because it's a ioctl function, not so much sensitive performance. |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | :åçéç, ç ç å |
|---|---|
| Next by Date: | [PATCH v2] xfs: use percpu_counter_read_positive for mp->m_icount, xuw2015 |
| Previous by Thread: | Re: [PATCH] xfs: use percpu_counter_compare instead of naive comparing, Dave Chinner |
| Next by Thread: | Re: [PATCH] xfs: use percpu_counter_compare instead of naive comparing, Dave Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |