More importantly, why is there no high resolution clock available from EXPORT_SYMBOL()? Is it deliberately gimped, or is there issues with getting such a piece of software into the kernel whilst not being GPL'd?
More importantly, why is there no high resolution clock available from EXPORT_SYMBOL()? Is it deliberately gimped, or is there issues with getting such a piece of software into the kernel whilst not being GPL'd?
Yes. It's deliberately gimped because the author of the function decided Freedom™ is more important than functionality and so they hid it behind a license check.
Most new symbols exported after its introduction are exported with the GPL check. See this for more info: http://lkml.iu.edu/hypermail/linux/kernel/0110.2/0369.html
The question is "does my modification to the kernel make a derivative work?" The _GPL defines are there to warn developers "Yes, using this function means you're probably doing something derivative."
In short, Oracle knew what they were doing, knew it was wrong, and are doing it anyways. Now it just comes down to the lawyers arguing whether DTrace becomes a derivative work or not, when and if someone files suit against them for not being able to use DTrace on TheirLinux.
Would have been a good comment without that remark, and almost certainly why you got downvoted. I gave you an upvote anyways, because the link is actually relevant and helpful.