On Tue, May 15, 2018 at 11:15 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > Alternatively we could use 'p' for the argument pointer thing. Probably better than having i/I. But while people are bikeshedding the important stuff, can I please mention my personal pet peeve with generated code? If we go down this "generate header files" path, and ever expand to actually generating some of the definitions too, can we *please* try to follow three rules: (a) make the generated header file not just say "this is generated", but say exactly *what* generates it, so that when you look at it, you don't have to search for the generator? (b) if at all possible, please aim to make "git grep" find the stuff that is generated? (c) if b is not possible, then generate '#line' things in the generator so that debug information points back to the original source? That (b) in particular can be a major pain, because "git grep" will obviously only look at the _source_ files (including the script that generates thing), but not at the generated file at all. But when you see a stack trace or oops or something that mentions some function that you're not intimately familiar with, the first thing I do is basically some variation of git grep function_name or similar. Maybe it's just me, but I actually really like how fast "git grep" is with threading and everything to just go the extra mile. And what often happens with generated functions is that you can't actually find them with git grep, because the generator will generate the function names in two or more parts (ie in this case, for example, "cmpxchg_relaxed" would never show up, becuase it's the "relaxed" version of cmpxchg. So (b) will likely not work out, but at least try very hard to do (a) and (c) when (b) fails. So that when people do stack traces, if they have the debug information, at least it will point to the actual implementation in the generator. (NOTE! I realize that right now you're just talking about generating the header file itself, with only declarations, not definitions. So the above is not an issue. Yet. I'm just waiting for people to generate some of the code too, and being proactive)_. Hmm? Linus -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |