Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754032Ab0G1Bdd (ORCPT ); Tue, 27 Jul 2010 21:33:33 -0400 Received: from e38.co.us.ibm.com ([32.97.110.159]:40701 "EHLO e38.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752449Ab0G1Bdb (ORCPT ); Tue, 27 Jul 2010 21:33:31 -0400 Subject: Re: [PATCH 04/11] powerpc: Simplify update_vsyscall From: john stultz To: Paul Mackerras Cc: LKML , Anton Blanchard , Thomas Gleixner , linuxppc-dev@ozlabs.org, Ingo Molnar In-Reply-To: <20100727234152.GC14947@brick.ozlabs.ibm.com> References: <1279068988-21864-1-git-send-email-johnstul@us.ibm.com> <1279068988-21864-2-git-send-email-johnstul@us.ibm.com> <1279068988-21864-3-git-send-email-johnstul@us.ibm.com> <1279068988-21864-4-git-send-email-johnstul@us.ibm.com> <1279068988-21864-5-git-send-email-johnstul@us.ibm.com> <20100727234152.GC14947@brick.ozlabs.ibm.com> Content-Type: multipart/mixed; boundary="=-bnifospLGFPHoi2yougC" Date: Tue, 27 Jul 2010 18:33:27 -0700 Message-ID: <1280280807.1879.118.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 31282 Lines: 445 --=-bnifospLGFPHoi2yougC Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit On Wed, 2010-07-28 at 09:41 +1000, Paul Mackerras wrote: > On Tue, Jul 13, 2010 at 05:56:21PM -0700, John Stultz wrote: > > > Currently powerpc's update_vsyscall calls an inline update_gtod. > > However, both are straightforward, and there are no other users, > > so this patch merges update_gtod into update_vsyscall. > > > > Compiles, but otherwise untested. > > This and the following two patches will cause interesting conflicts > with two commits in Ben Herrenschmidt's powerpc.git next branch, > specifically 8fd63a9e ("powerpc: Rework VDSO gettimeofday to prevent > time going backwards") and c1aa687d ("powerpc: Clean up obsolete code > relating to decrementer and timebase") from me. In fact the first of > those two commits includes changes equivalent to those in your 5/11 > patch ("powerpc: Cleanup xtime usage"), as far as I can see. Ahh.. Right.. I guess I should have remembered you were working on those changes (even though I don't think I saw the final results sent to lkml or anything). Sorry about that. > BTW, BenH's tree is at: > > git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git So I've cherry picked the two changes from the ppc tree, applied them onto linus' git tree and then rebased my changes ontop of them. The net of the change to the patch set: Added to the head of the patch queue: powerpc: Rework VDSO gettimeofday to prevent time going backwards powerpc: Clean up obsolete code relating to decrementer and timebase Modified to resolve collision: powerpc: Simplify update_vsyscall Dropped (as earlier patches already made equivalent changes): powerpc: Cleanup xtime usage The full set is in the attached tarball. Thomas, would you consider re-adding these? Hopefully that will avoid any -next collisions. thanks -john --=-bnifospLGFPHoi2yougC Content-Type: application/x-bzip-compressed-tar; name="patches.tar.bz2" Content-Disposition: attachment; filename="patches.tar.bz2" Content-Transfer-Encoding: base64 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 --=-bnifospLGFPHoi2yougC-- -- 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/