Skip to content

Commit

Permalink
seq_file: don't call bitmap_scnprintf_len()
Browse files Browse the repository at this point in the history
"m->count + len < m->size" is true commonly, so bitmap_scnprintf()
is commonly called. this fix saves a call to bitmap_scnprintf_len().

Signed-off-by: Lai Jiangshan <[email protected]>
Cc: Alexey Dobriyan <[email protected]>
Cc: Paul Menage <[email protected]>
Cc: Paul Jackson <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Lai Jiangshan authored and torvalds committed Oct 20, 2008
1 parent 40b6a76 commit 85dd030
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions fs/seq_file.c
Original file line number Diff line number Diff line change
Expand Up @@ -452,17 +452,18 @@ int seq_dentry(struct seq_file *m, struct dentry *dentry, char *esc)

int seq_bitmap(struct seq_file *m, unsigned long *bits, unsigned int nr_bits)
{
size_t len = bitmap_scnprintf_len(nr_bits);

if (m->count + len < m->size) {
bitmap_scnprintf(m->buf + m->count, m->size - m->count,
bits, nr_bits);
m->count += len;
return 0;
if (m->count < m->size) {
int len = bitmap_scnprintf(m->buf + m->count,
m->size - m->count, bits, nr_bits);
if (m->count + len < m->size) {
m->count += len;
return 0;
}
}
m->count = m->size;
return -1;
}
EXPORT_SYMBOL(seq_bitmap);

static void *single_start(struct seq_file *p, loff_t *pos)
{
Expand Down

0 comments on commit 85dd030

Please sign in to comment.