Jan, Following is v2 for the fanotify_merge() performance improvements. For more details on functional and performance tests please refer to v1 cover letter [1]. This version is much simpler than v1 using standard hlist. It was rebased and tested against 5.12-rc1 using LTP tests [2]. Thanks, Amir. Chanes since v1: - Use hlist instead of multi notification lists - Handling all hashing within fanotify backend - Cram event key member together with event type - Remove ifdefs and use constant queue hash bits - Address other review comments on v1 [1] https://lore.kernel.org/linux-fsdevel/20210202162010.305971-1-amir73il@xxxxxxxxx/ [2] https://github.com/amir73il/ltp/commits/fanotify_merge Amir Goldstein (5): fsnotify: allow fsnotify_{peek,remove}_first_event with empty queue fanotify: reduce event objectid to 29-bit hash fanotify: mix event info and pid into merge key hash fsnotify: use hash table for faster events merge fanotify: limit number of event merge attempts fs/notify/fanotify/fanotify.c | 150 +++++++++++++++++++-------- fs/notify/fanotify/fanotify.h | 46 +++++++- fs/notify/fanotify/fanotify_user.c | 65 ++++++++++-- fs/notify/inotify/inotify_fsnotify.c | 9 +- fs/notify/inotify/inotify_user.c | 7 +- fs/notify/notification.c | 64 ++++++------ include/linux/fsnotify_backend.h | 23 ++-- 7 files changed, 263 insertions(+), 101 deletions(-) -- 2.30.0