proc: save decrement during lookup/readdir in /proc/$PID
PATCH 1/1 proc: save decrement during lookup/readdir in /proc/$PID
Comparison for "<" works equally well as comparison for "<=" but one SUB/LEA is saved (no, it is not optimised away, at least here).
Signed-off-by Alexey Dobriyan <[email protected]>
---
fs/proc/base.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
fs/proc/base.c +4 -4
@@ -2412,14 +2412,14 @@ static struct dentry *proc_pident_lookup(struct inode *dir,* Yes, it does not scale. And it should not. Don't add * new entries into /proc/<tgid>/ without very good reasons. */ - last = &ents[nents -1 ]; -for (p = ents; p <= last; p++) { + last = &ents[nents]; +for (p = ents; p < last; p++) {if (p->len != dentry->d_name.len)continue ;if (!memcmp (dentry->d_name.name, p->name, p->len))break ; } -if (p > last) +if (p >= last) goto out; error =proc_pident_instantiate (dir, dentry, task, p);
@@ -2444,7 +2444,7 @@ static int proc_pident_readdir(struct file *file, struct dir_context *ctx,if (ctx->pos >= nents +2 ) goto out; -for (p = ents + (ctx->pos -2 ); p <= ents + nents -1 ; p++) { +for (p = ents + (ctx->pos -2 ); p < ents + nents; p++) {if (!proc_fill_cache (file, ctx, p->name, p->len, proc_pident_instantiate, task, p))break ;