* Roland McGrath <rol...@redhat.com> wrote: > > ( Note, Linus might still insist on a total replacement, if he > > finds the #ifdef approach too ugly. I dont talk for him and he > > is usually much pickier than me. ) > > In a previous round of review, hch objected to > CONFIG_UTRACE_PTRACE. I think we are all in agreement that the > eventual right place will be only one ptrace implementation, and > that being the one based on a clean framework. It's not very > clear to me which different incremental paths to get there > different people have in mind or why. > > Everyone agrees #ifdef for two implementations is ugly. It's a > transitional stage, so to me it seems quite tolerable knowing that > it will be cleaned up eventually. It buys two things: 1. getting > utrace in sooner, worked on faster, and made better soon; 2. given > that, risk mitigation for everyone not interested in working with > utrace.
The problem for upstream is, if it goes in ugly and everyone gets what they wanted they often go and chase other targets. Especially if it's such an external-looking and external-thinking project as SystemTap. Such incidents happened frequently enough to upstream to become a primary worry. [ For example: you promised proper x86 CFI annotations macro design one year ago to Linus and me, in exchange for me not removing the ugly ones. I already had the removal patches done and committed at that stage and reverted them after that. The ugly CFI stuff is still there today and it's all bitrotting nicely ;-) ] And there's a slam-dunk counter argument: "ptrace is ugly enough already, we dont need another 'temporary' layer". So 'temporary ugliness' is being frowned upon. Ugliness might be taken from trusted parties in well-argued cases but it is still exceedingly rare. Ingo