From mboxrd@z Thu Jan 1 00:00:00 1970 From: a.phillip.garcia@gmail.com (A. P. Garcia) Date: Tue, 5 Aug 2014 06:55:43 -0500 Subject: [TUHS] /proc - linux vs solaris In-Reply-To: References: <1407183693.25672.for-standards-violators@oclsc.org> <20140804222325.GK19745@mcvoy.com> <20140804231108.GM19745@mcvoy.com> Message-ID: After sleeping on this, I realized that with DTrace, the extra goodies exported by linux in /proc may be superfluous. Which would just mean that a nice innovation was perhaps trumped by a more powerful one. However, some of the missing commands in linux-ptools should be trivial to add, and it's somewhat curious that no one has (pcred, pfiles). The one possible exception to this is prstat. On Aug 4, 2014 8:26 PM, "A. P. Garcia" wrote: > > 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: