Re: [PATCH] [CELL] oprofile: test for flag instead of negative on unsigned

Maynard Johnson
2008-09-09T20:48:24Z

Arnd,
This patch was originally submitted some time back, and I gave my approval
for it. The last I heard from you about it (on July 2), you said you were
queuing it up for 2.6.27. Has it gotten upstream yet?

Thanks.
-Maynard

--------------------------------------------------------------------------
roel kluin <roel.kluin@gmail.com> wrote on 09/09/2008 02:48:17 PM:

> vi arch/powerpc/oprofile/cell/vma_map.c +46
>
> And you'll find this comment in vma_map_lookup():
>
> Default the offset to the physical address + a flag value.
> Addresses of dynamically generated code can't be found in the vma
> map. For those addresses the flagged value will be sent on to
> the user space tools so they can be reported rather than just
> thrown away.
>
> Returned is the flag value 0x10000000 + vma when not found.
>
> The test for negative overlay_tbl_offset does not work
> because it is unsigned.
>
> Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
> ---
> diff --git a/arch/powerpc/oprofile/cell/vma_map.c
> b/arch/powerpc/oprofile/cell/vma_map.c
> index fff6666..41e0c22 100644
> --- a/arch/powerpc/oprofile/cell/vma_map.c
> +++ b/arch/powerpc/oprofile/cell/vma_map.c
> @@ -229,7 +229,7 @@ struct vma_to_fileoffset_map
> *create_vma_map(const struct spu *aSpu,
> */
> overlay_tbl_offset = vma_map_lookup(map, ovly_table_sym,
> aSpu, &grd_val);
> - if (overlay_tbl_offset < 0) {
> + if (overlay_tbl_offset >= 0x10000000) {
> printk(KERN_ERR "SPU_PROF: "
> "%s, line %d: Error finding SPU overlay table\n",
> __func__, __LINE__);