2000-10-30 06:20:32

by Joe

[permalink] [raw]
Subject: /proc & xml data

I remember hearing about various debates about the /proc structure. I
was wondering if anyone had ever considered storing some of the data in
xml format rather than its current format? Things like /proc/meminfo
and cpuinfo may work good in this format as then it would be easy to
write a generic xml parser that could then be used to parse any of the
data. "MemTotal: %8lu kB\n"

In the case of the meminfo it would be a matter of changing the lines in
fs/proc/array.c function get_meminfo(char * buffer) from

"MemTotal: %8lu kB\n"

to something like

"<memtotal>%8lu kB</memtotal>\n"



Joe


2000-10-30 07:03:17

by Eric W. Biederman

[permalink] [raw]
Subject: Re: /proc & xml data

Joe <[email protected]> writes:

> I remember hearing about various debates about the /proc structure. I
> was wondering if anyone had ever considered storing some of the data in
> xml format rather than its current format? Things like /proc/meminfo
> and cpuinfo may work good in this format as then it would be easy to
> write a generic xml parser that could then be used to parse any of the
> data. "MemTotal: %8lu kB\n"
>
> In the case of the meminfo it would be a matter of changing the lines in
> fs/proc/array.c function get_meminfo(char * buffer) from
>
> "MemTotal: %8lu kB\n"
>
> to something like
>
> "<memtotal>%8lu kB</memtotal>\n"

The general consensus is that if we have a major reorganization, in proc
the rule will be one value per file. And let directories do the grouping.

Eric

2000-10-30 12:33:31

by Moritz Schulte

[permalink] [raw]
Subject: Re: /proc & xml data

[email protected] (Eric W. Biederman) writes:

> The general consensus is that if we have a major reorganization, in proc
> the rule will be one value per file. And let directories do the grouping.

IIRC some time ago somebody suggested to rename 'proc' to something
like 'sys' or 'system', because it contains so many sytem information,
not only about processes; or extract all non-process-information from
proc to sys. Will this, or something like that, eventually be done
while the reorganization?

moritz

2000-10-30 18:18:05

by Joe

[permalink] [raw]
Subject: Re: Re: /proc & xml data

Um, I'd have to say that putting one value in a file with a directory as a grouping would probably be a nightmare to maintain as well as navigate through. In essance you could end up with more files in the /proc than on the rest of the filesystem filesystem (excluding the /dev dir). It would start to have the whole proc tree look like something from /proc/sys/net/ipv4. Although the /proc/sys/net/ipv4 probably needs to have one value in a file as some of these are settable on from the console, other fiels that are not changable (like /proc/meminfo, proc/cpuinfo etc) would be a waste in one value per file.

Isn't the /proc supposed to be a 'friendly' interface into the kernel?

Anyway it was a more of a question.

> I
> was wondering if anyone had ever considered storing some of the data in
> xml format rather than its current format? Things like /proc/meminfo
> and cpuinfo may work good in this format as then it would be easy to
> write a generic xml parser that could then be used to parse any of the
> data. "MemTotal: %8lu kB\n"
>
> In the case of the meminfo it would be a matter of changing the lines in
> fs/proc/array.c function get_meminfo(char * buffer) from
>
> "MemTotal: %8lu kB\n"
>
> to something like
>
> "%8lu kB\n"

The general consensus is that if we have a major reorganization, in proc
the rule will be one value per file. And let directories do the grouping.

Eric

2000-10-30 23:33:33

by Olaf Titz

[permalink] [raw]
Subject: Re: /proc & xml data

> "MemTotal: %8lu kB\n"
> to something like
> "<memtotal>%8lu kB</memtotal>\n"

The latter form offers no significant advantage over the former at
all - there is nothing that can be expressed as
<name>value</name>
which can't also be expressed as
name: value
or
name=value
and the latter format is significantly easier to parse.

The only situation where XML really would be useful would be
some need of grouping, and this is done in /proc using directories.
(Which are also much easier to parse using existing standard tools.)

Olaf