[Toybox] [TOY] lspci
Rob Landley
rob at landley.net
Tue Aug 6 16:04:36 PDT 2013
On 08/02/2013 01:31:57 AM, Isaac wrote:
> On Sat, Jul 27, 2013 at 09:56:53AM +0200, Felix Janda wrote:
> > Anyway Isaac is doing (or planning to do) a major rewrite enabling
> lspci
> > to read the pciid database for human readable names of vendors and
> devices.
>
> I have a question or two in regards to that.
> 1-mmap or fgets?
> It's a smallish file as data goes (currently~600 kb), and can be
> searched
> in very little time if mmap()ed.
> The alternative is an fgets() based loop, which could involve
> reading over 11,000 entries, and decent performance would require
> using a linked list for temporary storage, extracting and sorting the
> entries
> from the linked list, looping over the sorted entries and storing the
> text,
> then printing from the linked list (though you can print from the
> sorted data
> if you don't care about order).
> I'm thinking mmap sounds more practical.
Whichever is simpler? (Is lspci performance critical?)
> 2-is there a way to allow configuring a path in the toybox build
> system?
> The database can live in several places, so I was thinking to have a
> customizeable default and allow setting the path in kconfig as well.
In theory yes, since it's kconfig. (A somewhat stale version thereof.)
config WALRUS
string
default "/etc/walrus.rc"
In practice, we don't source .config and the scripts/make.sh plumbing
that makes generated/config.h is only looking for defined and undefined
to make 0 and 1 with. Looks like I need to extend it to do strings.
(Back in busybox I passed through both CONFIG_BLAH and CFG_BLAH and
then the other developers were eternally unclear on which got used for
what...)
I'll put it on the todo list...
Rob
1375830276.0
More information about the Toybox
mailing list