From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750969AbWDQCHK (ORCPT ); Sun, 16 Apr 2006 22:07:10 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750965AbWDQCHK (ORCPT ); Sun, 16 Apr 2006 22:07:10 -0400 Received: from moutng.kundenserver.de ([212.227.126.177]:63461 "EHLO moutng.kundenserver.de") by vger.kernel.org with ESMTP id S1750929AbWDQCHI convert rfc822-to-8bit (ORCPT ); Sun, 16 Apr 2006 22:07:08 -0400 From: Arnd Bergmann To: Steven Rostedt Subject: Re: [PATCH 00/05] robust per_cpu allocation for modules Date: Mon, 17 Apr 2006 04:07:23 +0200 User-Agent: KMail/1.9.1 Cc: Paul Mackerras , Nick Piggin , LKML , Andrew Morton , Linus Torvalds , Ingo Molnar , Thomas Gleixner , Andi Kleen , Martin Mares , bjornw@axis.com, schwidefsky@de.ibm.com, benedict.gaster@superh.com, lethal@linux-sh.org, Chris Zankel , Marc Gauthier , Joe Taylor , David Mosberger-Tang , rth@twiddle.net, spyro@f2s.com, starvik@axis.com, tony.luck@intel.com, linux-ia64@vger.kernel.org, ralf@linux-mips.org, linux-mips@linux-mips.org, grundler@parisc-linux.org, parisc-linux@parisc-linux.org, linuxppc-dev@ozlabs.org, linux390@de.ibm.com, davem@davemloft.net, rusty@rustcorp.com.au References: <1145049535.1336.128.camel@localhost.localdomain> <200604161734.20256.arnd@arndb.de> <1145234750.27828.8.camel@localhost.localdomain> In-Reply-To: <1145234750.27828.8.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8BIT Content-Disposition: inline Message-Id: <200604170407.26111.arnd@arndb.de> X-Provags-ID: kundenserver.de abuse@kundenserver.de login:bf0b512fe2ff06b96d9695102898be39 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Am Monday 17 April 2006 02:45 schrieb Steven Rostedt: > > - does not work in real mode, so percpu data can't be used > >   inside exception handlers on some architectures. > > This is probably a big issue.  I believe interrupt context in hrtimers > uses per_cpu variables. If it's just about hrtimers, it should be harmless, since they are run in softirq context. Even regular interrupt handlers are always called with paging enabled, otherwise you could not have them im modules. > > - memory consumption is rather high when PAGE_SIZE is large > > That's also something that I'm trying to solve.  To use the least amount > of memory and still have the performance. > > Now, I've also thought about allocating per_cpu and when a module is > loaded, reallocate more memory and copy it again.  Use something like > the kstopmachine to sync the system so that the CPUS don't update any > per_cpu variables while this is happening, so that things can't get out > of sync. I guess this breaks if someone holds a pointer to a per-cpu variable while a module gets loaded. Arnd <><