PROPOSAL: /proc standards (was dot-proc interface [was: /proc stuff])

PROPOSAL: /proc standards (was dot-proc interface [was: /proc stuff])

Post by Stephen Satchel » Thu, 08 Nov 2001 04:00:17




Quote:>It seems to me that the sysctl interface does not have any type checking,
>so if for example I want to read the jiffies counter and supply a 32-bit
>field, sysctl will happily give me the first/last 32 bits of a field that
>could as well be 64 bits (bit widths do sometimes change, even on
>architectures
>that do not change).   How am I to know ?

This fault isn't isolated to the sysctl interface.  Look sometime at the
ioctl and fcntl interfaces and you will see that they have the same
problem.  The issue is that the original Unix implementation of the
special-function interface assumed that only "ints" would be passed around,
and the need for special interfaces outgrew that assumption.

These functions have been so abused that POSIX refuses to "standardize"
them; instead, special APIs such as TERMIOS have been devised to put a
fairly-well defined shell around the most needed of these interfaces.  (How
the implementer decides to bridge the userland/kernel barrier is not part
of the specification -- and doesn't need to be.)

The /proc API was developed to solve a specific problem.  Now, people have
proposed and The Powers That Be have accepted extensions to the /proc
interface as a superior way to tune the kernel, particularly from shell
scripts, and to monitor the kernel, again from shell scripts.  It's a good
thing, actually, in that it preserves the best of the Unix
mentality:  don't re-invent, reuse.

What this whole discussion boils down to is people who want to tackle the
symptoms instead of the disease.  The PROBLEM is that we have inadequate
standards and documentation of the /proc interface in its original ASCII
form.  The proposed solution does NOTHING to address the real problem --
and I understand that because too many people here are so used to using a
hammer (code) that all problems start looking like nails.

The RIGHT tool to fix the problem is the pen, not the coding pad.  I hereby
pick up that pen and put forth version 0.0.0.0.0.0.0.0.1 of the Rules of /Proc:

1)  IT SHOULD NOT BE PRETTY.  No tabs to line up columns.  No "progress
bars."  No labels except as "proc comments" (see later).  No in-line labelling.

2)  All signed decimal values shall be preceded by the "+" or "-" character
-- no exceptions.  Implementers:  this is available with *printf formats
with the + modifier, so the cost of this rule is one character per signed
value.

3)  All integral decimal values shall be assumed by both programs and
humans to consist of any number of bits.  [C'mon, people, dealing with
64-bit or 128-bit numbers is NOT HARD.  If you don't know how,
LEARN.  bc(1) can provide hints on how to do this -- use the Source,
Luke.]  Numbers shall contain decimal digits [0-9] only.  Zero-padding is
allowed.

4)  All floating-point values shall contain a leading sign ("+" or "-") and
a decimal point (US) or comma (Europe).  This rule assumes that the locale
for the kernel can be set; if this isn't true, then a period shall be used
to separate the integral part and the fractional part.  Floating point
values may also contain exponents (using the *printf format %E or %G, NOT
%e -- the exponent must be preceded by the letter "e" or "E").  The
specification of a zero precision (which suppresses the output of the
decimal point or comma) is prohibited.

5)  All string values matching the regular expression [!"$-+--~]* shall be
output as they are.  Strings that do not match the above regular expression
shall be escaped in a standard manner, using a single routine provided in
the kernel's /proc interface to provide the proper escape sequences.  The
output of that routine shall output standard backslash-character
representation of standard C-language control characters, and 3-digit octal
representation of any other character encountered.  Output of the octal
representation may be truncated when such truncation would not cause
confusion -- see strace(1) for examples.

6)  If you are wanting to display octal data, display it byte at a time
with a backslash.  If you want to display hexadecimal data, use the "\x"
introduction, but include all bits so that the using program knows how long
the damn element is supposed to be -- NO leading -zero suppression should
be done.  (Use the %x.xX format item in *printf, where "x" is the number of
hexadecimal digits.)

7)  The /proc data may include comments.  Comments start when an  unescaped
hash character "#" is seen, and end at the next newline \n.  Comments may
appear on a line of data, and the unescaped # shall be treated as end of
data for that line.

8)  The regular expression ^#!([A-Za-z0-9_.-]+ )*[A-Za-z0-9_.-]$ defines a
special form of comment, which may be used to introduce header labels to an
application.  As shown in the regular expression, each label is defined by
the regular subexpression [A-Za-z0-9_.-]+ and are separated by a single
space.  The final (or only) label is terminated by a newline \n.  No data
may appear on the header comment line.  This line may only appear at the
beginning of the /proc pseudo file, and appears only ONCE.

9) The regular expression ^#=[0-9]+$ shall be used to output a optional
"version number" comment line  If this appears in the /proc output, it
precedes the header comment line, and appears only ONCE.

10)  Network addresses are defined as strings, either in their name form,
in dot quad notation for IPV4 numeric addresses, or in the numeric
equivalent for IPV6.  Parsers can recognize the difference between a
dot-quad IP address and a floating-point number by the presence of the
second dot in the number.  Network information output on /proc shall not
use the base/mask notation (123.456.789.012/255.255.255.0) and instead use
the bit-length notation (123.456.789.012/24).

11)  IPX network addresses are a problem.  In their normal form, they are
indistinguishable from a %F-format floating-point number with leading zeros
(which is allowed).  Therefore the dot that usually appears in an IPX
network number must be replaced with the hyphen or dash "-"
character.  Parsers can then differentiate an IPX network address from a
floating point number by noticing the embedded dash without the leading "e"
or "E" character.  Flex handles this just fine.

-end-

This represents my first cut into a specification for the /proc interface
to deal with some of the issues that have come up in this thread.  It's not
going to satisfy the "performance for me at all costs, DAMMIT" people and
it's not going to satisfy the "I like it PRETTY, DAMMIT" crowd either, but
it would provide a means for coming up with some standard tools to deal
with /proc, and a way to reign in the madness.

In particular, it means that a single tool could be developed to take a
/proc file and, in userland, make it a little more pretty.  Those that
don't like table presentations can use the source of the tool to make a
display more to their liking.

The spec has a number of things missing.  One issue missing is how to make
a predictable /proc subtree, so that people can find the goodies more
easily.  Another issue is specifying how /proc can be used to set
parameters.  (We seem to have less confusion in this area, so I didn't want
to spend any time on this aspect of the specification.)

OK, I'm clear of the firing range, start shooting holes in it.

Stephen Satchell

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

PROPOSAL: /proc standards (was dot-proc interface [was: /proc stuff])

Post by J . A . Magallo » Thu, 08 Nov 2001 08:10:11




>>The RIGHT tool to fix the problem is the pen, not the coding pad.  I
>>hereby pick up that pen and put forth version 0.0.0.0.0.0.0.0.1 of the
>>Rules of /Proc:

>Agreed.

>>7)  The /proc data may include comments.  Comments start when an  unescaped
>>hash character "#" is seen, and end at the next newline \n.  Comments may
>>appear on a line of data, and the unescaped # shall be treated as end of
>>data for that line.

Well, perhaps this is a stupid idea. But I throw it.
ASCII is good for humans, bin is good to read all info easily in a program.
Lets have both.

Once I thought the solution could be to make /proc entries behave
differently in two scenarios. Lets suppose you could open files in ASCII
or binary mode. An entry opened in ASCII returns printable info and opened
in binary does the binay output. As there is no concept of ASCII or binary
files in low-level file management, the O_DIRECT flag (or any new flag) could
be used.

And (supposing all fies in /proc are 0-sized) perhaps a seek position could be
defined for reading a format string or a set of field names, ie:
lseek(SEEK_FORMAT); read(...);

Same for writing, opening in "wa" allows to write a formatted number (ie,
echo 0xFF42 > /proc/the/fd) and  "wb" allows to write binary data
(write("/proc/the/fd",&myValue)).

Just an idea...

--
J.A. Magallon                           #  Let the source be with you...        

Mandrake Linux release 8.2 (Cooker) for i586
Linux werewolf 2.4.14-beo #1 SMP Tue Nov 6 16:23:01 CET 2001 i686
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

PROPOSAL: /proc standards (was dot-proc interface [was: /proc stuff])

Post by Alex Bligh - linux-kerne » Thu, 08 Nov 2001 09:40:09


--On Tuesday, 06 November, 2001 5:14 PM -0500 Alexander Viro



> [snip]
>> And those who *will* complain that binary structures are hard to work
with,
>> (you're idiots too :-)) a struct is far easier to deal with than text
>> processing, esp. for anyone who knows what they are doing.  Yes, changes

> Learn C, then learn some respect to your betters[1], then come back.

> *PLONK*

> [1] like, say it, guys who had invented UNIX and C.

What amuses me about those arguing for binary structures as a long term
solution for communicating, on a flexible but long lived basis, is that the
entire OS Genre they appear to be advocating (UNIX et al.) has been doing
this, on an app to app (as opposed to kernel to app) basis, for far longer
than most of them can remember, in situations where performance is far more
relevant, and pitted against far more 3l33t 5tud3nt2 than we we shake a
stick at, but /still/ they persist.

Through minor local idiocy, I had trashed my local lilo partition, and had
to try and boot with a Debian CD-Rom with a 2.2 kernel. I forgot to ask for
single user more. Not only did it boot first time, it booted fully, apart
from two minor things: no iptables, and (shock horror) the sound card
didn't work it wasn't compatible. Similarly, I've loaded 2.4 kernels with
no problems onto 2.2 systems.

This "dreadful" /proc interface everyone talks about has been *STAGGERINGLY
GOOD* in terms of forward and backward compatibility. Sure, the innards may
smell unpleasant, but I reckon the interface, in practice, whilst not in
BNF format (BTW what is, and and, for the compsci philosophers amongst you,
'.*' as a regexp is easilly convertible into BNF and describes the /proc
interface completely - lexical and synatical analysis is immaterial without
tight semantic definition), has worked well just because kernel developers
and maintainers have showed themselves unwilling to break existing
userspace tools, and vice versa.

I think/thought we learnt our lesson on this in the fallout of the
Net2E/Net2D 'debate'. If someone is willing to stand up and say that /proc
external interface causes as many problems as the networking code did at
the time, please stand up and be counted now, preferably holding your
thesis on how to fix this for inter-app comms in Un*x in general, & forming
an orderly queue for the exit door :-)

--
Alex Bligh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

PROPOSAL: /proc standards (was dot-proc interface [was: /proc stuff])

Post by Alex Bligh - linux-kerne » Thu, 08 Nov 2001 09:50:09


--On Wednesday, 07 November, 2001 1:13 AM +0100 Martin Dalecki


> around 6 years
> ago people did just give up on adapting the parsers to the ever chaning
> "wonderfull" ascii interfaces those times.

Must have passed me by - probably too busy with regedt32 and other
such great /proc substitutes - cough...

--
Alex Bligh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

PROPOSAL: /proc standards (was dot-proc interface [was: /proc stuff])

Post by Alex Bligh - linux-kerne » Thu, 08 Nov 2001 10:20:12


--On Tuesday, 06 November, 2001 8:10 PM -0500 Ricky Beam


> /proc ... it's very handy; it's also very dangerous.

as is most of UID==0 UNIX; and the problem here is?

--
Alex Bligh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

PROPOSAL: /proc standards (was dot-proc interface [was: /proc stuff])

Post by Albert D. Cahala » Thu, 08 Nov 2001 16:30:13


Alex Bligh - linux writes:

Quote:> What amuses me about those arguing for binary structures as a long term
> solution for communicating, on a flexible but long lived basis, is that the
> entire OS Genre they appear to be advocating (UNIX et al.) has been doing
> this, on an app to app (as opposed to kernel to app) basis, for far longer
> than most of them can remember, in situations where performance is far more
> relevant, and pitted against far more 3l33t 5tud3nt2 than we we shake a
> stick at, but /still/ they persist.

quotas, process accounting, wtmp, utmp, Tux web server logs...

Quote:> Through minor local idiocy, I had trashed my local lilo partition,
> and had to try and boot with a Debian CD-Rom with a 2.2 kernel. I
> forgot to ask for single user more. Not only did it boot first time,
> it booted fully, apart from two minor things: no iptables, and
> (shock horror) the sound card didn't work it wasn't compatible.
> Similarly, I've loaded 2.4 kernels with no problems onto 2.2 systems.

> This "dreadful" /proc interface everyone talks about has been
> *STAGGERINGLY GOOD* in terms of forward and backward compatibility.
...
> has worked well just because kernel developers and maintainers
> have showed themselves unwilling to break existing userspace
> tools, and vice versa.

I can see that you are unfamiliar with the /proc filesystem.

You can change kernels because app developers work hard to
be tolerant of stupid /proc changes. Some of the *that
I've stumbled across, mostly while doing procps work:

/proc/*/stat signal info was changed from decimal to hex for
a while. I changed it back, but too late: the evil hex had
already leaked out into the world, and I had to modify libproc.
Quick, is 16785472 in decimal or hex? So use the "friendly" new
/proc/*/status file instead, but...

The "SigCgt" in /proc/*/status wasn't always spelled that way.
It wasn't always in the same location either, so what to do?
That calls for another hack: assume signal values follow each other.

Kernel threads don't have memory info. Somebody added "kB" on the
end of most lines in /proc/meminfo. /proc/stat has changed in ways
that I'm glad to have forgotten. /proc/interrupts has been through
a flood of horrid changes: the PIC type going from "" to "XT PIC"
to "XT-PIC", the last column getting spaces (consider "XT PIC"!),
a new header (just waiting for extra info) and a variable number
of per-CPU columns in the middle to replace what was once a total.
Maybe /proc/cpuinfo is the worst... I hear SPARC is pretty smelly,
but hey, every arch screws app developers in some unique way.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://www.veryComputer.com/
Please read the FAQ at  http://www.veryComputer.com/

 
 
 

PROPOSAL: /proc standards (was dot-proc interface [was: /proc stuff])

Post by Alexander Vir » Thu, 08 Nov 2001 17:20:08



> /proc/*/stat signal info was changed from decimal to hex for
> a while.

And _THAT_ should be a reason for immediate and severe LARTing.
That (and *fests with progress bars, yodda, yodda) needs to
be stopped.  But notice that switching to binary or doing
tags, etc. has nothing to that - same breakage will continue
with them unless you LART lusers who do it.  Which works (or
doesn't) regardless of API.

Random API changes (and as a flipside of the same, APIs that
had never been thought through) are *and they should be
dealt with.  However, if you think that switching to binary
is going to make people think what they are doing... there's
a nice bridge I'd like to sell.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://www.veryComputer.com/
Please read the FAQ at  http://www.veryComputer.com/

 
 
 

PROPOSAL: /proc standards (was dot-proc interface [was: /proc stuff])

Post by Alex Bligh - linux-kerne » Fri, 09 Nov 2001 02:30:16



Quote:> I can see that you are unfamiliar with the /proc filesystem.

> You can change kernels because app developers work hard to
> be tolerant of stupid /proc changes.
> Some of the *that
> I've stumbled across, mostly while doing procps work:

My point is two-fold:

1. Sure, you (and no doubt others) had to do lots
   of work fixing userland, which
   you shouldn't have had to do. But that seems to be
   more down to lack of discipline in interface changes
   rather than because the interface isn't binary. I am
   sure it's easier to strip out a spurious 'kb' that
   gets added after a number, than to deal with (say)
   an extra inserted DWORD with no version traching.

2. The system survived. The interface was there. Bload
   sweat and tears were no doubt expended, possibly by
   the wrong people, but in practice the interface worked,
   (no, not optimally). I'd suggest even with it's badly
   managed changes, thouse have been less disruptive than
   many other non-ascii based conventions (I'm thinking
   back to Net-2E/2D). Sure, wtmp, utmp have been stable.
   Not sufficiently familiar with process accounting or
   quotas, though I have some possibly incorrect memory
   of the latter suffering some format change which was
   generated compatibility problems with user space tools?

--
Alex Bligh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://www.veryComputer.com/
Please read the FAQ at  http://www.veryComputer.com/

 
 
 

PROPOSAL: /proc standards (was dot-proc interface [was: /proc stuff])

Post by Albert D. Cahala » Fri, 09 Nov 2001 10:00:24


Alex Bligh - linux writes:

Quote:>    sure it's easier to strip out a spurious 'kb' that
>    gets added after a number, than to deal with (say)
>    an extra inserted DWORD with no version traching.

Design the kernel to make doing this difficult.
Define some offsets as follows:

#define FOO_PID 0
#define FOO_PPID 1

Now, how is anyone going to create "an extra inserted DWORD"
between those? They'd need to renumber FOO_PPID and any other
values that come after it.

The "DWORD" idea is messed up too BTW. Use __u64 everywhere.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

PROPOSAL: /proc standards (was dot-proc interface [was: /proc stuff])

Post by Alex Bligh - linux-kerne » Sat, 10 Nov 2001 04:00:13


Quote:> Design the kernel to make doing this difficult.
> Define some offsets as follows:

># define FOO_PID 0
># define FOO_PPID 1

> Now, how is anyone going to create "an extra inserted DWORD"
> between those? They'd need to renumber FOO_PPID and any other
> values that come after it.

For instance, take the /proc/mounts type example, where
each row is a sequence of binary values. Someone decides
to add another column, which assuming it is a DWORD^W__u64,
does exactly this, inserts a DWORD^W__u64 between the
end of one record and the start of the next as far a
poorly written parser is concerned.

The brokenness is not due to the distinction between ASCII
and binary. The brokenness is due the ill-defined nature
of the format, and poor change control. (so for instance
the ASCII version could consistently use (say) quoted strings,
with spaces between fields, and \n between records, just
as the binary version could have a record length entry at the
head of each record, and perhaps field length and identifier
versions by each field - two very similar solutions to the
problem above).

Quote:> The "DWORD" idea is messed up too BTW. Use __u64 everywhere.

OK OK :-)

--
Alex Bligh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

PROPOSAL: /proc standards (was dot-proc interface [was: /proc stuff])

Post by Ricky Bea » Sat, 10 Nov 2001 06:40:06



Quote:>For instance, take the /proc/mounts type example, where

(bad example as /proc/mounts is supposed to be a substiture for /etc/mtab.)

Quote:>each row is a sequence of binary values. Someone decides
>to add another column, which assuming it is a DWORD^W__u64,
>does exactly this, inserts a DWORD^W__u64 between the
>end of one record and the start of the next as far a
>poorly written parser is concerned.

Then make it hard ("impossible") to write a poor parser; include a record
size in the data format.  The first __u32 read is the number of bytes per
record.  You then know exactly how much data to read.  Adding more *on
the end doesn't break anything.

People who think binary data formats are bad and hard to work with should
take a few minutes to look at various implementation using binary data
structures.  For example, RADIUS.

Quote:>The brokenness is not due to the distinction between ASCII
>and binary. The brokenness is due the ill-defined nature
>of the format, and poor change control. (so for instance
>the ASCII version could consistently use (say) quoted strings,
>with spaces between fields, and \n between records, just
>as the binary version could have a record length entry at the
>head of each record, and perhaps field length and identifier
>versions by each field - two very similar solutions to the
>problem above).

Correct.  The issue is not which is easier to work with, or endian friendly.
A properly designed structure, which we still don't have, is the key.  It's
just as straight forward to tokenize binary fields as text fields.  Then you
have to do something with the data in the fields.  Binary is far more
efficient in almost all cases.

People should not shit a brick at the suggestion of doing _some_ things
as binary structures.  The parts of /proc that really are intended for humans
(ie. driver "debug" information... /proc/slabinfo, /proc/drivers/rd/..., etc.)
don't make sense in binary.  However, there are loads of things that DO make
sense in binary format -- too many things reference them for further processing
requiring conversion from/to text multiple times.  The number of people
who do:
 % grep -l foo /proc/[0-9]*/cmdline
instead of:
 % ps auxwww | grep foo
are very VERY low.

--Ricky

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://www.veryComputer.com/
Please read the FAQ at  http://www.veryComputer.com/

 
 
 

PROPOSAL: /proc standards (was dot-proc interface [was: /proc stuff])

Post by Albert D. Cahala » Sat, 10 Nov 2001 14:20:11


Alex Bligh - linux writes:

Quote:> [Albert Cahalan]
>> Design the kernel to make doing this difficult.
>> Define some offsets as follows:

>> # define FOO_PID 0
>> # define FOO_PPID 1

>> Now, how is anyone going to create "an extra inserted DWORD"
>> between those? They'd need to renumber FOO_PPID and any other
>> values that come after it.

> For instance, take the /proc/mounts type example, where
> each row is a sequence of binary values. Someone decides
> to add another column, which assuming it is a DWORD^W__u64,
> does exactly this, inserts a DWORD^W__u64 between the
> end of one record and the start of the next as far a
> poorly written parser is concerned.

That would be a botched design to begin with.

Each row becomes a separate binary file. They are distinct
records anyway. Splitting by column would be a poor choice.

Quote:> The brokenness is not due to the distinction between ASCII
> and binary. The brokenness is due the ill-defined nature
> of the format, and poor change control.

ASCII encourages ill-defined formats and poor change control.
People make assumptions about what is valid.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
 
 
 

1. PROPOSAL: /proc standards (was dot-proc interface [was: /proc

Just think about it for a minute.

There are three ways to address "/proc":
 - 100% binary interface
  * human interaction doesn't belong in the kernel - period.
 - optimally formated text
  * not designed for humans, but in human format ("text")
 - human readable
  * thus the entire OS is reduced to "cat" and "echo"

Providing more than one interface/format means code duplication.  It doesn't
matter how much is actually compiled.  Someone has to write it.  Others have
to maintain it.  Suddenly a change in one place becomes a change in dozens
of places.

Personally, I vote for a 100% binary interface. (no surprise there.)  It
makes things in kernel land so much cleaner, faster, and smaller.  Yes,
it increases the demands on userland to some degree.  However, printf/scanf
is one hell of a lot more wasteful than a simple mov.

For my worst case scenerio, answer this:
  How do you tell how many processors are in a Linux box?

The kernel already knows this, but it isn't exposed to userland.  So, one
must resort to ass-backward, stupid shit like counting entries in
/proc/cpuinfo.  And to make things even worse, the format is different for
every arch! (I've been bitching about this for four (4) years.)

And for those misguided people who think processing text is faster than
binary, you're idiots.  The values start out as binary, get converted to
text, copied to the user, and then converted back to binary.  How the hell
is that faster than copying the original binary value? (Answer: it isn't.)

And those who *will* complain that binary structures are hard to work with,
(you're idiots too :-)) a struct is far easier to deal with than text
processing, esp. for anyone who knows what they are doing.  Yes, changes
to the struct do tend to break applications, but the same thing happens
to text based inputs as well.  Perhaps some of you will remember the stink
that arose when the layout of /proc/meminfo changed (and broke, basically,
everything.)

--Ricky

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

2. Matrox Millenium and 16bit color

3. PROPOSAL: dot-proc interface [was: /proc stuff]

4. information for SiS 648 chip support

5. proposal /proc/console (was /proc/vidinfo)

6. How to tell who is using my applet!?

7. ipv4: move proc stuff from net/ipv4/af_inet.c to net/ipv4/proc.c

8. HELP: BAD SUPER BLOCK: MAGIC NUMBER WRONG

9. I am having a /proc problem.

10. /proc/stat description for proc.txt

11. /proc/mounts or /proc/mtab

12. what does /proc or proc stand for?

13. /proc/net/tcp and /proc/net/udp