Re: [PATCH] perf cs-etm: use swap() to make code cleaner

From: Leo Yan
Date: Fri Nov 12 2021 - 03:38:32 EST


Hi Yihao,

On Thu, Nov 11, 2021 at 06:33:44PM -0800, Yihao Han wrote:
> Use the macro 'swap()' defined in 'include/linux/minmax.h' to avoid
> opencoding it.

The header 'include/linux/minmax.h' is used for kernel but it's not
provided for user space program?

> Signed-off-by: Yihao Han <hanyihao@xxxxxxxx>
> ---
> tools/perf/util/cs-etm.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
> index f323adb1af85..aaa3ec725002 100644
> --- a/tools/perf/util/cs-etm.c
> +++ b/tools/perf/util/cs-etm.c
> @@ -408,17 +408,13 @@ struct cs_etm_packet_queue
> static void cs_etm__packet_swap(struct cs_etm_auxtrace *etm,
> struct cs_etm_traceid_queue *tidq)
> {
> - struct cs_etm_packet *tmp;
> -
> if (etm->sample_branches || etm->synth_opts.last_branch ||
> etm->sample_instructions) {
> /*
> * Swap PACKET with PREV_PACKET: PACKET becomes PREV_PACKET for
> * the next incoming packet.
> */
> - tmp = tidq->packet;
> - tidq->packet = tidq->prev_packet;
> - tidq->prev_packet = tmp;
> + swap(tidq->packet, tidq->prev_packet);

NAK - This patch will introduce compilation error:

util/cs-etm.c: In function ‘cs_etm__packet_swap’:
util/cs-etm.c:417:3: error: implicit declaration of function ‘swap’; did you mean ‘swab’? [-Werror=implicit-function-declaration]
swap(tidq->packet, tidq->prev_packet);
^~~~
swab

Thanks,
Leo

> }
> }
>
> --
> 2.17.1
>