Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Wed, 21 Mar 2001 19:22:16 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Wed, 21 Mar 2001 19:21:58 -0500 Received: from nrg.org ([216.101.165.106]:21088 "EHLO nrg.org") by vger.kernel.org with ESMTP id ; Wed, 21 Mar 2001 19:21:37 -0500 Date: Wed, 21 Mar 2001 16:20:50 -0800 (PST) From: Nigel Gamble Reply-To: nigel@nrg.org To: Andrew Morton cc: linux-kernel@vger.kernel.org Subject: Re: [PATCH for 2.5] preemptible kernel In-Reply-To: <3AB87CE3.2DB0DA14@uow.edu.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 21 Mar 2001, Andrew Morton wrote: > It's a problem for uniprocessors as well. > > Example: > > #define current_cpu_data boot_cpu_data > #define pgd_quicklist (current_cpu_data.pgd_quick) > > extern __inline__ void free_pgd_fast(pgd_t *pgd) > { > *(unsigned long *)pgd = (unsigned long) pgd_quicklist; > pgd_quicklist = (unsigned long *) pgd; > pgtable_cache_size++; > } > > Preemption could corrupt this list. Thanks, Andrew, for pointing this out. I've added fixes to the patch for this problem and the others in pgalloc.h. If you know of any other similar problems on uniprocessors, please let me know. Nigel Gamble nigel@nrg.org Mountain View, CA, USA. http://www.nrg.org/ MontaVista Software nigel@mvista.com - 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/