On Aug 4, 2009, at 9:59 AM, Robert P. J. Day wrote:
as a short followup to that earlier post, the value of seq files is
obviously to break down the possible output of *lots* of data into
bite-sized pieces. but how large can those pieces be?
from fs/seq_file.c, in the routine traverse():
if (!m->buf) {
m->buf = kmalloc(m->size = PAGE_SIZE, GFP_KERNEL);
if (!m->buf)
return -ENOMEM;
that suggests to me that a single, machine-specific PAGE_SIZE is the
hard limit on a single seq_file data transfer. is that correct?
Yes.
Choice between the all-in-one approach (using the single*() methods)
or the iterative approach with the start()/stop()/next()/show() gamut
can hide this effect to user space to some extent if required.
-Bruce
rday
--
=
=
======================================================================
Robert P. J. Day Waterloo, Ontario,
CANADA
Linux Consulting, Training and Annoying Kernel Pedantry.
Web page: http://crashcourse.ca
Twitter: http://twitter.com/rpjday
"Kernel Newbie Corner" column @ linux.com: http://cli.gs/WG6WYX
=
=
======================================================================
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ