From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755387AbXFDO3J (ORCPT ); Mon, 4 Jun 2007 10:29:09 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751790AbXFDO25 (ORCPT ); Mon, 4 Jun 2007 10:28:57 -0400 Received: from pfx2.jmh.fr ([194.153.89.55]:45401 "EHLO pfx2.jmh.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751774AbXFDO24 (ORCPT ); Mon, 4 Jun 2007 10:28:56 -0400 Date: Mon, 4 Jun 2007 16:28:55 +0200 From: Eric Dumazet To: Davide Libenzi Cc: Andrew Morton , Ingo Molnar , Linux Kernel Mailing List , Linus Torvalds , Ulrich Drepper Subject: Re: [patch 1/2] ufd v1 - unsequential O(1) fdmap core Message-Id: <20070604162855.f98d1698.dada1@cosmosbay.com> In-Reply-To: References: <46633047.1020707@cosmosbay.com> <20070603230859.5000424d.akpm@linux-foundation.org> <20070604080537.GA22898@elte.hu> <20070604080941.GA23537@elte.hu> <20070604013449.ea3acca8.akpm@linux-foundation.org> <20070604122857.1399e3fc.dada1@cosmosbay.com> <20070604152540.985c186a.dada1@cosmosbay.com> X-Mailer: Sylpheed 2.3.1 (GTK+ 2.10.11; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 4 Jun 2007 06:35:16 -0700 (PDT) Davide Libenzi wrote: > On Mon, 4 Jun 2007, Eric Dumazet wrote: > > > You add conditional branches on very hot spots. > > Keep BS for the ones you argue usually, and that are not able to reply. > You *still* two bitmaps, because allocation spaces are far apart. So the > "if" will still be there. I actually read your patches and spent time to see the pros and cons. If you dont need reviewers, please dont post your patches on lkml. If I am not mistaken, you added a test in fget()/fget_light(), which is a known hot point for said huge processes. fget() dont need to access the bitmap at all. Using fd_slots means less (50%) file pointers per cache line. On my machines, there is a ratio of 100/1 in cpu time for fget(),fget_light() against get_unused_fd().