From mboxrd@z Thu Jan 1 00:00:00 1970 From: a.phillip.garcia@gmail.com (A. P. Garcia) Date: Mon, 4 Aug 2014 20:26:09 -0500 Subject: [TUHS] /proc - linux vs solaris In-Reply-To: <20140804231108.GM19745@mcvoy.com> References: <1407183693.25672.for-standards-violators@oclsc.org> <20140804222325.GK19745@mcvoy.com> <20140804231108.GM19745@mcvoy.com> Message-ID: On Aug 4, 2014 6:56 PM, "Larry McVoy" wrote: > > Seem like even Roger liked it: > > https://lwn.net/lwn/1998/0226/sunproc.html :-) There are a few different issues here. Linux exports a lot of interesting info that Solaris doesn't. It's hard not to like that. Where they put it, who cares. The unix filesystem hierarchy wasn't exactly planned out by neat freaks. > On Mon, Aug 04, 2014 at 03:23:25PM -0700, Larry McVoy wrote: > > On Mon, Aug 04, 2014 at 05:24:39PM -0500, A. P. Garcia wrote: > > > We in Solaris designed /proc as a tool for developers to build innovative > > > solutions, not an end-user interface. The Linux community believes that > > > 'cat /proc/self/maps' is the best user interface, while we believe that > > > pmap(1) is right answer. The reason for this is that mdb(1), truss(1), > > > dtrace(1M) and a host of other tools all make use of this same information. > > > It would be a waste of time to take binary information in the kernel, > > > convert it to text, and then have the userland components all write their > > > own (error prone) parsing routines to convert this information back into a > > > custom binary form. Plus, we can change the options and output format of > > > pmap without breaking other applications that depend on the contents of > > > /proc. > > > > I come from SunOS background and have had more than a few /proc discussions > > with Roger Faulkner (who I believed did the System V /proc at Bell Labs?). > > > > I get the arguments above but I don't buy 'em. linux really got /proc > > right in terms of usefulness. > Digging binary blobs out of the kernel > > and translating them sucks. I've done, I've written kmem drivers for > > ps, I understand how it works. I far prefer the pure ascii model that > > Linux has. Part of the argument was more or less that the binary model allows a richer set of tools to be built on top of it, and that those tools provide a better interface to the info. Does Solaris have a richer set of tools than Linux in this regard? I think so, but I don't know how much of this is owed to the difference between binary and text interfaces in /proc. Last time I checked, Linix had no pcred(1), for example. top(1) doesn't provide nearly as much info as prstat(1) -- for example, prstat -mL. Why that is, I don't know. Plus, prstat is marginally less resource intensive. Anything as sweet as (k)mdb in linux? Forget it. Maybe that's because Linus was so resistant to having a debugger in the kernel for so long? DTrace? Well, sort of -- a port of dtrace! But I'm really at an unfair disadvantage here. *Why* Solaris has such better tools, you would know better than me. I only know that it does. As for the second part, that writing the tools that use the binary interface is unpleasant, again I have to defer to you. I've never done that. > > I also get that Linux turned /proc into /whatever/I/think/I/need/today > > and that makes purists grit their teeth. None the less, if you give > > me a choice I'll take the linux way. Want to see what files you have > > open? > > > > ls -l /proc/$$/fd I think this would work in solaris, maybe linux too: pfiles $$ > > Etc. Really easy to poke around and figure stuff out as needed and no > > rats nest of header files to decode the structures. Again, that's what the tools are for. If a tool doesn't give me the info I need in Solaris, I guess I'm SOL. In Linux, *maybe* I'd have a chance of finding it in /proc. :-) -------------- next part -------------- An HTML attachment was scrubbed... URL: