* 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

Reply via email to