On Tue, 22 Feb 2011 21:41:52 -0800 Jason Gunthorpe <jguntho...@obsidianresearch.com> wrote:
> On Tue, Feb 22, 2011 at 04:03:29PM -0800, Roland Dreier wrote: > > On Tue, Feb 22, 2011 at 3:43 PM, Jason Gunthorpe > > <jguntho...@obsidianresearch.com> wrote: > > > Doing it in userspace makes generating the node description changed > > > trap simpler? > > > > Hmm... how many places can do sethostname()? Seems easier to > > catch in the kernel than hook every place in userspace. (Although > > there's no kernel hook right now) I do agree it would be good to > > have some idea of how we could generate the "node desc changed" > > trap at appropriate times. > > Wasn't thinking about 100% perfection, just if DHCP is the concern it > shouldn't be hard to hook that one place. I like the idea of having a way to tie node description to the hostname. It just makes sense. The question in my mind is will upstream accept a hook in sethostname? Generally it seems like a good idea, perhaps other subsystems would want to know about it. But it does seem like it might not get accepted. > > > > I just wonder if this is a big pain to do right, what about charsets, IDN, > > > and ugly details like that? > > > > Does anyone expect to care about non-ASCII node descs? > > What can we sensibly do except take what we're given? > > node desc is UTF-8, hostname is IDNA, a conversion is required, see RFC > 3490. For what it is worth none of the diags or OpenSM support UTF-8. I'll add it to the list of things to do. ;-) I don't know much about IDNA but it seems that ASCII is a subset of IDNA as well as UTF-8. Perhaps a check for ASCII in the hostname would suffice to at least make this work for ASCII hostnames only. (That should cover a significant portion of the hosts out there, if not all of them.) > > Does anyone care? Who knows, but very pedantically it is wrong to just copy > the host name byte by byte. I only mention it to point out that it is > trivial to do what Mike did, somewhat harder to do % escaping like you > suggest and solve the multiple HCA problem, harder still to trap > sethostname() and generate a trap, and extra special hard to correctly > handle character sets on top of all that. :) > > So, is it still trivial to do it in the kernel? Looking at the latest code it seems that setting the node descriptor for mlx4 and qib will result in a trap 144 being set. A hook in sethostname which results in the regeneration of the node description and the generation of the trap seems pretty easy. So, from a technical side I think the answer is "yes" it is pretty easy. That said getting that hook into sethostname might be harder to get upstream than just writing the code. I can't comment on that because I don't have any idea how hard that would be. :-( Ira > > Jason > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Ira Weiny Math Programmer/Computer Scientist Lawrence Livermore National Lab 925-423-8008 wei...@llnl.gov -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html