From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f67.google.com ([209.85.220.67]:35120 "EHLO mail-pa0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751467AbcBNIfv (ORCPT ); Sun, 14 Feb 2016 03:35:51 -0500 Received: by mail-pa0-f67.google.com with SMTP id fl4so5825625pad.2 for ; Sun, 14 Feb 2016 00:35:51 -0800 (PST) Date: Sun, 14 Feb 2016 16:35:43 +0800 From: Eryu Guan To: linux-fsdevel@vger.kernel.org Cc: jlayton@poochiereds.net, jack@suse.com Subject: [BUG] inotify_add_watch/inotify_rm_watch loops trigger oom Message-ID: <20160214083543.GC29898@eguan.usersys.redhat.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nFreZHaLTZJo0R7j" Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-ID: --nFreZHaLTZJo0R7j Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, Starting from v4.5-rc1 running inotify_add_watch/inotify_rm_watch in loop could trigger OOM and system becomes unusuable. v4.4 kernel is fine with the same stress test. Reverting c510eff6beba ("fsnotify: destroy marks with call_srcu instead of dedicated thread") on top of v4.5-rc3 passed the same test, seems that this patch introduced some kind of memleak? On v4.5-rc[1-3] the test program triggers oom within 10 minutes on my test vm with 8G mem. After reverting the commit in question the same vm survived more than 1 hour stress test. ./inotify I attached the test program and oom console log. If more information is needed please let me know. Thanks, Eryu --nFreZHaLTZJo0R7j Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="inotify.c" #include #include #include #include #include #include int main(int argc, char *argv[]) { int notify_fd; int wd, ret; notify_fd = inotify_init(); for (;;) { wd = inotify_add_watch(notify_fd, argv[1], IN_MODIFY | IN_CREATE | IN_DELETE ); if (wd < 0) { perror("inotify_add_watch"); } ret = inotify_rm_watch(notify_fd, wd); if (ret < 0) { perror("inotify_rm_watch"); } } out: close(notify_fd); return 0; } --nFreZHaLTZJo0R7j Content-Type: application/x-bzip2 Content-Disposition: attachment; filename="inotify-oom.log.bz2" Content-Transfer-Encoding: base64 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 NMXcNFk1F2Ghqd5xHbB1L/8XckU4UJB8xu51 --nFreZHaLTZJo0R7j--