Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752674AbbH2OLR (ORCPT ); Sat, 29 Aug 2015 10:11:17 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:35374 "EHLO mail-pa0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752283AbbH2OLQ (ORCPT ); Sat, 29 Aug 2015 10:11:16 -0400 Message-ID: <1440857473.8932.146.camel@edumazet-glaptop2.roam.corp.google.com> Subject: Re: [PATCH] task_work: remove fifo ordering guarantee From: Eric Dumazet To: Oleg Nesterov Cc: Al Viro , Linus Torvalds , "linux-kernel@vger.kernel.org" , Andrew Morton , Thomas Gleixner , Ingo Molnar , Maciej =?UTF-8?Q?=C5=BBenczykowski?= Date: Sat, 29 Aug 2015 07:11:13 -0700 In-Reply-To: <1440856650.8932.144.camel@edumazet-glaptop2.roam.corp.google.com> References: <1440816150.8932.123.camel@edumazet-glaptop2.roam.corp.google.com> <20150829124921.GA14973@redhat.com> <1440856650.8932.144.camel@edumazet-glaptop2.roam.corp.google.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1231 Lines: 41 On Sat, 2015-08-29 at 06:57 -0700, Eric Dumazet wrote: > Now we also could question why we needed commit > 4a9d4b024a3102fc083c925c242d98ac27b1c5f6 ("switch fput to task_work_add > ") since it seems quite an overhead at task exit with 10^6 of files to > close. > > I understood the 'schedule_work() for interrupt/kernel_thread callers' > part, but not the task_work_add() one. If this needs to be kept, maybe then add following, to make sure we flush the list at most every BITS_PER_LONG files diff --git a/fs/file.c b/fs/file.c index 6c672ad329e9..f3d0a79cef05 100644 --- a/fs/file.c +++ b/fs/file.c @@ -22,6 +22,7 @@ #include #include #include +#include int sysctl_nr_open __read_mostly = 1024*1024; int sysctl_nr_open_min = BITS_PER_LONG; @@ -392,6 +393,7 @@ static struct fdtable *close_files(struct files_struct * files) i++; set >>= 1; } + task_work_run(); } return fdt; -- 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/