[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1227494976.21735.1.camel@localhost>
Date: Mon, 24 Nov 2008 13:49:36 +1100
From: Michael Ellerman <michael@...erman.id.au>
To: Paul Mackerras <paulus@...ba.org>
Cc: Steven Rostedt <rostedt@...dmis.org>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, Milton Miller <miltonm@....com>,
linuxppc-dev@...abs.org, Steven Rostedt <srostedt@...hat.com>,
Ingo Molnar <mingo@...e.hu>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH 2/5] powerpc: ftrace, convert to new dynamic ftrace
arch API
On Mon, 2008-11-24 at 12:43 +1100, Paul Mackerras wrote:
> Steven Rostedt writes:
>
> > Thanks to Paul Mackennas for pointing out the mistakes of my original
>
> Mackerras
>
> > +static int test_24bit_addr(unsigned long ip, unsigned long addr)
> > +{
> > + long diff;
> > +
> > + /*
> > + * Can we get to addr from ip in 24 bits?
> > + * (26 really, since we mulitply by 4 for 4 byte alignment)
> > + */
> > + diff = addr - ip;
> > +
> > + /*
> > + * Return true if diff is less than 1 << 25
> > + * and greater than -1 << 26.
> > + */
> > + return (diff < (1 << 25)) && (diff > (-1 << 26));
>
> I think this still isn't right, and the comment is one of those ones
> that is only useful to people who can't read C, as it's just a
> transliteration of the code.
>
> The comment should say something like "Return true if diff can be
> represented as a 26-bit twos-complement binary number" and the second
> part of the test should be (diff >= (-1 << 25)). However, since you
> define a test_offset() function in patch 4/5 that does the same test
> but using only one comparison instead of two, why don't you just say:
>
> return !test_offset(diff);
>
> (having first moved test_offset() before test_24bit_addr)?
Or better still, split out and use the code from create_branch() in
arch/powerpc/lib/code-patching.c .. which is hopefully correct :)
cheers
--
Michael Ellerman
OzLabs, IBM Australia Development Lab
wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)
We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
Download attachment "signature.asc" of type "application/pgp-signature" (198 bytes)
Powered by blists - more mailing lists