Hi Matthew, On Wed, Dec 11, 2019 at 05:40:14AM -0800, Matthew Wilcox wrote: > On Wed, Dec 11, 2019 at 03:17:11PM +0800, Gao Xiang wrote: > > > static inline bool is_dot_or_dotdot(const unsigned char *name, size_t len) > > > { > > > if (len >= 1 && unlikely(name[0] == '.')) { > > > > > > And I suggest drop "unlikely" here since files start with prefix > > '.' (plus specical ".", "..") are not as uncommon as you expected... > > They absolutely are uncommon. Even if you just consider > /home/willy/kernel/linux/.git/config, only one of those six path elements > starts with a '.'. Okay, I think it depends on userdata and access patterns. I admit I have no statistics on all those callers. Just considering introducing an inline helper for cleanup, except for lookup_one_len_common() (since it's on an error path), others were all without unlikely() before. Ignore my words if it seems unreasonable or unlikely() is an improvement in this patch and sorry for annoying. Thanks, Gao Xiang