Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Tue, 30 Jul 2002 07:26:59 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Tue, 30 Jul 2002 07:26:58 -0400 Received: from tomts6.bellnexxia.net ([209.226.175.26]:4580 "EHLO tomts6-srv.bellnexxia.net") by vger.kernel.org with ESMTP id ; Tue, 30 Jul 2002 07:26:57 -0400 From: Ed Tomlinson Subject: Re: [patch 2/13] remove pages from the LRU in __free_pages_ok() To: Linus Torvalds , linux-kernel@vger.kernel.org Reply-To: tomlins@cam.org Date: Tue, 30 Jul 2002 07:30:03 -0400 References: Organization: me User-Agent: KNode/0.7.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit Message-Id: <20020730113004.5776D117D@oscar.casa.dyndns.org> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1159 Lines: 23 Linus Torvalds wrote: > On Sun, 28 Jul 2002, David S. Miller wrote: >> >> So when the user's reference is dropped, does that operation kill it >> from the LRU or will the socket's remaining reference to that page >> defer the LRU removal? > > That is indeed the question. Right now it will defer, which looks like a > bug. Or at least it is a bug without the interrupt-safe LRU manipulations. > > I'm starting to be more convinced about Andrew's alternate patch, the > "move LRU lock innermost and make it irq-safe". > > Which also would make it saner to do the LRU handling inside > __put_pages_ok() (and actually remove the BUG_ON(in_interrupt()) that > Andrew had there in the old patch). This would also make slablru easier. We could just set the 'release me' flag when slabs are chained to the free list. In vmscan we make sure we check if the page is referenced before the release logic. Ed Tomlinson - 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/