Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752488AbbDQJLM (ORCPT ); Fri, 17 Apr 2015 05:11:12 -0400 Received: from mailout3.w1.samsung.com ([210.118.77.13]:50306 "EHLO mailout3.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752634AbbDQJLC (ORCPT ); Fri, 17 Apr 2015 05:11:02 -0400 X-AuditID: cbfec7f4-f79c56d0000012ee-ab-5530ce26857d Message-id: <5530CE22.8080903@samsung.com> Date: Fri, 17 Apr 2015 11:10:58 +0200 From: Beata Michalska User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130804 Thunderbird/17.0.8 MIME-version: 1.0 To: Hugh Dickins Cc: Eric Sandeen , Tim Chen , linux-kernel@vger.kernel.org, tytso@mit.edu, adilger.kernel@dilger.ca, lczerner@redhat.com, hch@infradead.org, linux-ext4@vger.kernel.org, linux-mm@kvack.org, kyungmin.park@samsung.com, kmpark@infradead.org, Linux Filesystem Mailing List , linux-api@vger.kernel.org Subject: Re: [RFC 1/4] fs: Add generic file system event notifications References: <1429082147-4151-1-git-send-email-b.michalska@samsung.com> <1429082147-4151-2-git-send-email-b.michalska@samsung.com> <552F308F.1050505@redhat.com> <552F75D6.4030902@samsung.com> In-reply-to: Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprAIsWRmVeSWpSXmKPExsVy+t/xK7pq5wxCDT7OU7D4+qWDxeL0hEVM Fk8/9bFY3Lq8isXibNMbdotlDzazWGz+3sFmMXPeHTaLPXtPslhc3jWHzeLemv+sFtO3OFpc mzSfzaK15ye7A59Hy+ZyjwWbSj02r9Dy2PRpErvHvJOBHk1njjJ7vN93lc2jb8sqRo/Pm+QC OKO4bFJSczLLUov07RK4MmY0rmcsmC5R0fz8IHMD407hLkZODgkBE4k5v7ezQdhiEhfurQey uTiEBJYySsyffI4ZwnnGKHHz7TMWkCpeAS2JC3s3sYLYLAKqEvc7njGB2GwC+hKvZqwEs0UF IiT+nN7HClEvKPFj8j2wXhEBZYl1zU+ZQIYyCzQwSxy98g4sISzgJtG84SoLxLbvjBJPn79j BElwCthLbNv0DGwSs4COxP7WaWwQtrzE5jVvmScwCsxCsmQWkrJZSMoWMDKvYhRNLU0uKE5K zzXUK07MLS7NS9dLzs/dxAiJpy87GBcfszrEKMDBqMTDmzBFL1SINbGsuDL3EKMEB7OSCC/H NoNQId6UxMqq1KL8+KLSnNTiQ4zSHCxK4rxzd70PERJITyxJzU5NLUgtgskycXBKNTDWfLEt fXPeet2E7saV8wqNPp2a+DzrCBfHWu6yk9tWODx2Kc/yauS+9DIv+FTwMfsqNmWJ8CfLjaYJ 2p/d0h7HEJ1vuG+u0vbff60+bl0RNFfkj76oixCjYqWH84egbNeER48X3xY9vzxBvyKgfKvN e9llxlZFjWniK9/eOb07RdakbsXlTWxKLMUZiYZazEXFiQDD1D2powIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3259 Lines: 86 Hi, On 04/16/2015 10:10 PM, Hugh Dickins wrote: > On Thu, 16 Apr 2015, Beata Michalska wrote: >> On 04/16/2015 05:46 AM, Eric Sandeen wrote: >>> On 4/15/15 2:15 AM, Beata Michalska wrote: >>>> Introduce configurable generic interface for file >>>> system-wide event notifications to provide file >>>> systems with a common way of reporting any potential >>>> issues as they emerge. >>>> >>>> The notifications are to be issued through generic >>>> netlink interface, by a dedicated, for file system >>>> events, multicast group. The file systems might as >>>> well use this group to send their own custom messages. >>> >>> ... >>> >>>> + 4.3 Threshold notifications: >>>> + >>>> + #include >>>> + void fs_event_alloc_space(struct super_block *sb, u64 ncount); >>>> + void fs_event_free_space(struct super_block *sb, u64 ncount); >>>> + >>>> + Each filesystme supporting the treshold notifiactions should call >>>> + fs_event_alloc_space/fs_event_free_space repsectively whenever the >>>> + ammount of availbale blocks changes. >>>> + - sb: the filesystem's super block >>>> + - ncount: number of blocks being acquired/released >>> >>> so: >>> >>>> +void fs_event_alloc_space(struct super_block *sb, u64 ncount) >>>> +{ >>>> + struct fs_trace_entry *en; >>>> + s64 count; >>>> + >>>> + spin_lock(&fs_trace_lock); >>> >>> Every allocation/free for every supported filesystem system-wide will be >>> serialized on this global spinlock? That sounds like a non-starter... >>> >>> -Eric >>> >> I guess there is a plenty room for improvements as this is an early version. >> I do agree that this might be a performance bottleneck event though I've tried >> to keep this to minimum - it's being taken only for hashtable look-up. But still... >> I was considering placing the trace object within the super_block to skip >> this look-up part but I'd like to gather more comments, especially on the concept >> itself. > > Sorry, I have no opinion on the netlink fs notifications concept > itself, not my area of expertise at all. > > No doubt you Cc'ed me for tmpfs: I am very glad you're now trying the > generic filesystem route, and yes, I'd be happy to have the support > in tmpfs, thank you - if it is generally agreed to be suitable for > filesystems; but wouldn't want this as a special for tmpfs. > > However, I must echo Eric's point: please take a look at 7e496299d4d2 > "tmpfs: make tmpfs scalable with percpu_counter for used blocks": > Tim would be unhappy if you added overhead back into that path. > > (And please Cc linux-fsdevel@vger.kernel.org next time you post these.) > > Hugh > Well, the concept of using netlink interface here is just a part of the overall idea - so any comments are really welcomed here. The more of them the better solution can be worked out, as I believe. As for the possible overhead: this is the last thing I would want, so I'll definitely do may best to not to introduce any. I will definitely rework this. Thanks for Your comments, BR Beata -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/