• Jiri Olsa's avatar
    libperf: Centralize map refcnt setting · 285aaeac
    Jiri Olsa authored
    Currently when a new map is mmapped we set its refcnt to 2 in the
    perf_evlist_mmap_ops::mmap callback.
    
    Every mmap gets its refcnt set to 2 when it's first mmaped:
    
      - 1 for the current user, which will be taken out by a call to
        perf_evlist__munmap_filtered(), where we find out there's
        no more data comming from kernel to this mmap.
    
      - 1 for the drain code where in perf_mmap__consume() the mmap
        is released if it is empty.
    
    Move this common setup into libperf's generic code before the mmap
    callback is called.
    Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lore.kernel.org/lkml/20191007125344.14268-23-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    285aaeac
evlist.c 13 KB