Messages in this thread | | | Subject | Re: [RFC/PATCH] Documentation of kernel messages | From | holzheu <> | Date | Thu, 14 Jun 2007 12:38:53 +0200 |
| |
On Thu, 2007-06-14 at 11:41 +0200, Jan Kara wrote: > <snip> > > > Your proposal is similar to one I made to some Japanese developers > > earlier this year. I was more modest, proposing that we > > > > - add an enhanced printk > > > > xxprintk(msgid, KERN_ERR "some text %d\n", some_number); > Maybe a stupid idea but why do we want to assign these numbers by hand? > I can imagine it could introduce collisions when merging tons of patches > with new messages... Wouldn't it be better to compute say, 8-byte hash > from the message and use it as it's identifier? We could do this > automagically at compile time.
Of course automatically generated message numbers would be great and something like:
hub.4a5bcd77: Detected some problem.
looks acceptable for me.
We could generate the hash using the format string of the printk. Since we specify the format string also in KMSG_DOC, the hash for the KMSG_DOC and the printk should match and we have the required link between printk and description.
So technically that's probably doable.
Problems are:
* hashes are not unique * We need an additional preprocessor step * The might be people, who find 8 character hash values ugly in printks
The big advantage is, that we do not need to maintain message numbers.
> I know it also has it's problems - you > fix a spelling and the message gets a different id and you have to > update translation/documentation catalogue but maybe that could be > solved too...
Since in our approach the message catalog is created automatically for exactly one kernel and the message catalog belongs therefore to exactly one kernel, I think the problem of changing error numbers is not too big.
Michael
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |