I dont know how you can find the situation of Alpha comparable, which is a
legacy architecture for which no new CPU was manufactored in the past ~10
years.
The negative effects of physical obscolescence cannot be overcome even by the
very best of development models ...
So this is a total non-argument in this context.
So, what do you think creates code communities and keeps them alive?
Developers and code. And the wellbeing of developers are primarily influenced
by the repository structure and by the development/maintenance process - i.e.
by the 'fun' aspect. (i'm simplifying things there but that's the crux of it.)
So yes, i do claim that what stiffled and eventually killed off the Oprofile
community was the split repository. None of the other Oprofile shortcomings
were really unfixable, but this one was. It gave no way for the community to
grow in a healthy way, after the initial phase. Features were more difficult
and less fun to develop.
And yes, there were times when there was still active Oprofile development but
the development process warning signs should have been noticed, and the
community could have been kept alive by unification and similar measures.
Instead what happened was a complete rewrite and a competitive replacement by
perf. (Which isnt particularly nice to users btw. - they prefer more gradual
transitions - but there was no other option, so many problems accumulated in
Oprofile.)
I simply do not want to see KVM face the same fate, and yes i do see similar
warnings signs.
The thing is, the drift was pre-programmed by having a split ...
Oprofile certainly had good developers and maintainers as well. In the end it
wasnt enough ...
Also, a project can easily still be 'alive' but not reach its full potential.
Why do you assume that my argument means that KVM isnt viable today? It can
very well still be viable and even healthy - just not _as healthy_ as it could
be ...
I suggested long ago to merge lguest into KVM to cover non-VMX/non-SVM
execution.
Why doesnt it solve the bisectability problem? The kernel repo is supposed to
be bisectable so that problem would be solved.
In my judgement you'd have to do that more frequently, if KVM was properly
weighting its priorities. For example regarding this recent KVM commit of
yours:
| commit ec1ff79084fccdae0dca9b04b89dcdf3235bbfa1
| Author: Joerg Roedel <joerg.roedel@amd.com>
| Date: Fri Oct 9 16:08:31 2009 +0200
|
| KVM: SVM: Add tracepoint for invlpga instruction
|
| This patch adds a tracepoint for the event that the guest
| executed the INVLPGA instruction.
With integrated KVM tooling i might have insisted for that new tracepoint to
be available to users as well via some more meaningful tooling than just a
pure tracepoint.
There's synergies like that all around the place.
You should realize that naturally developers will gravitate towards the most
'fun' aspects of a project. It is the task of the maintainer to keep the
balance between fun and utility, bugs and features, quality and code-rot.
Probably, but it's an interesting parallel nevertheless ;-)
Thanks,
Ingo
--