On Mon, Oct 08, 2018 at 09:14:29AM +0300, Alexey Budankov wrote:

SNIP
>  static int overwrite_rb_find_range(void *buf, int mask, u64 *start, u64 *end)
> diff --git a/tools/perf/util/mmap.h b/tools/perf/util/mmap.h
> index e603314dc792..1b63b6cc7cf9 100644
> --- a/tools/perf/util/mmap.h
> +++ b/tools/perf/util/mmap.h
> @@ -6,6 +6,9 @@
>  #include <linux/types.h>
>  #include <asm/barrier.h>
>  #include <stdbool.h>
> +#ifdef HAVE_AIO_SUPPORT
> +#include <aio.h>
> +#endif
>  #include "auxtrace.h"
>  #include "event.h"
>  
> @@ -26,6 +29,11 @@ struct perf_mmap {
>       bool             overwrite;
>       struct auxtrace_mmap auxtrace_mmap;
>       char             event_copy[PERF_SAMPLE_MAX_SIZE] __aligned(8);
> +#ifdef HAVE_AIO_SUPPORT
> +     void             *data;
> +     struct aiocb     cblock;
> +     int              nr_cblocks;
> +#endif

could you please separate those in struct, maybe anonymous like:

        ...
        struct {
                void             *data;
                struct aiocb     cblock;
                int              nr_cblocks;
        } aio;
        ...


>  };
>  
>  /*
> @@ -59,6 +67,9 @@ enum bkw_mmap_state {
>  struct mmap_params {
>       int                         prot, mask;
>       struct auxtrace_mmap_params auxtrace_mp;
> +#ifdef HAVE_AIO_SUPPORT
> +     int                         nr_cblocks;
> +#endif

I dont think we need the ifdef here.. IMO one extra int is not
worth of the ifdef endif confusion

jirka

Reply via email to