There are currently no trace_mark() sites in the kernel that I'm aware
of (except for the scheduler :-/, and those should be converted to
tracepoints ASAP).
Andrew raised the whole point about trace_mark() generating an
user-visible interface and thus it should be stable, and I agree with
that.
What that means is that trace_mark() can only be used for really stable
points.
This in turn means we might as well use trace points.
Which allows for the conclusion that trace_mark() is not needed and
could be removed from the kernel.
However - it might be handy for ad-hoc debugging purposes that never see
the light of day (linus' git tree in this case). So on those grounds one
could argue against removing trace_mark