From mboxrd@z Thu Jan 1 00:00:00 1970 From: Geert Uytterhoeven Subject: Re: [patch 2/2]: introduce fast_gup Date: Fri, 18 Apr 2008 08:31:45 +0200 (CEST) Message-ID: References: <20080328025455.GA8083@wotan.suse.de> <20080328030023.GC8083@wotan.suse.de> <1208444605.7115.2.camel@twins> <1208448768.7115.30.camel@twins> <1208450119.7115.36.camel@twins> <1208453014.7115.39.camel@twins> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Return-path: In-Reply-To: <1208453014.7115.39.camel@twins> Sender: linux-arch-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: To: Peter Zijlstra Cc: Linus Torvalds , Nick Piggin , Andrew Morton , shaggy-V7BBcbaFuwjMbYB6QlFGEg@public.gmane.org, axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org, linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org, linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Clark Williams , Ingo Molnar , Jeremy Fitzhardinge On Thu, 17 Apr 2008, Peter Zijlstra wrote: > +retry: > + pte.pte_low = ptep->pte_low; > + smp_rmb(); > + pte.pte_high = ptep->pte_high; > + smp_rmb(); > + if (unlikely(pte.pte_low != ptep->pte_low)) > + goto retry; What about using `do { ... } while (...)' instead? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from yorgi.telenet-ops.be ([195.130.133.69]:33404 "EHLO yorgi.telenet-ops.be" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752477AbYDRGcf (ORCPT ); Fri, 18 Apr 2008 02:32:35 -0400 Received: from harold.telenet-ops.be (harold.telenet-ops.be [195.130.133.65]) by yorgi.telenet-ops.be (Postfix) with ESMTP id 2E188682130 for ; Fri, 18 Apr 2008 08:32:10 +0200 (CEST) Date: Fri, 18 Apr 2008 08:31:45 +0200 (CEST) From: Geert Uytterhoeven Subject: Re: [patch 2/2]: introduce fast_gup In-Reply-To: <1208453014.7115.39.camel@twins> Message-ID: References: <20080328025455.GA8083@wotan.suse.de> <20080328030023.GC8083@wotan.suse.de> <1208444605.7115.2.camel@twins> <1208448768.7115.30.camel@twins> <1208450119.7115.36.camel@twins> <1208453014.7115.39.camel@twins> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-arch-owner@vger.kernel.org List-ID: To: Peter Zijlstra Cc: Linus Torvalds , Nick Piggin , Andrew Morton , shaggy@austin.ibm.com, axboe@kernel.dk, linux-mm@kvack.org, linux-arch@vger.kernel.org, Clark Williams , Ingo Molnar , Jeremy Fitzhardinge Message-ID: <20080418063145.P8yR1EojRLmtQ18sEixf7nsxGe5Vn8OPVu3EDB71d90@z> On Thu, 17 Apr 2008, Peter Zijlstra wrote: > +retry: > + pte.pte_low = ptep->pte_low; > + smp_rmb(); > + pte.pte_high = ptep->pte_high; > + smp_rmb(); > + if (unlikely(pte.pte_low != ptep->pte_low)) > + goto retry; What about using `do { ... } while (...)' instead? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds