[PATCH v2 1/5] mmap_cache: add customizable search function

Masatake YAMATO yamato at redhat.com
Thu Jun 7 11:48:40 UTC 2018


Dmitry,

Could you review the patch series starting from

      [PATCH v2 1/5] mmap_cache: add customizable search function

(if you missed) ?

Please, let me know if I should resend them here.


Regards,
Masatake YAMATO

On Mon, 21 May 2018 05:27:06 +0900, Masatake YAMATO <yamato at redhat.com> wrote:
> * mmap_cache.c (mmap_cache_search_custom): New function.
> * mmap_cache.h (mmap_cache_search_fn): New type.
> (mmap_cache_search_custom): New function prototype.
> 
> Changes in v2:
> * Fix an off-by-one bug.
> * Use loop initial declarations
> Suggested by ldv.
> 
> Signed-off-by: Masatake YAMATO <yamato at redhat.com>
> ---
>  mmap_cache.c | 10 ++++++++++
>  mmap_cache.h |  5 +++++
>  2 files changed, 15 insertions(+)
> 
> diff --git a/mmap_cache.c b/mmap_cache.c
> index 631133b5..056bfa6d 100644
> --- a/mmap_cache.c
> +++ b/mmap_cache.c
> @@ -235,3 +235,13 @@ mmap_cache_search(struct tcb *tcp, unsigned long ip)
>  	}
>  	return NULL;
>  }
> +
> +struct mmap_cache_entry_t *
> +mmap_cache_search_custom(struct tcb *tcp, mmap_cache_search_fn search_fn, void *data)
> +{
> +	for (unsigned int i = 0; i < tcp->mmap_cache->size; i++) {
> +		if (search_fn (tcp->mmap_cache->entry + i, data))
> +			return tcp->mmap_cache->entry + i;
> +	}
> +	return NULL;
> +}
> diff --git a/mmap_cache.h b/mmap_cache.h
> index 90a939f3..e03b8876 100644
> --- a/mmap_cache.h
> +++ b/mmap_cache.h
> @@ -73,6 +73,8 @@ enum mmap_cache_rebuild_result {
>  	MMAP_CACHE_REBUILD_RENEWED,
>  };
>  
> +typedef bool (*mmap_cache_search_fn)(struct mmap_cache_entry_t *, void *);
> +
>  extern void
>  mmap_cache_enable(void);
>  
> @@ -82,4 +84,7 @@ mmap_cache_rebuild_if_invalid(struct tcb *, const char *caller);
>  extern struct mmap_cache_entry_t *
>  mmap_cache_search(struct tcb *, unsigned long ip);
>  
> +extern struct mmap_cache_entry_t *
> +mmap_cache_search_custom(struct tcb *, mmap_cache_search_fn, void *);
> +
>  #endif /* !STRACE_MMAP_CACHE_H */
> -- 
> 2.17.0
> 


More information about the Strace-devel mailing list