On 12/3/2015 11:06 AM, Steven Rostedt wrote:
On Thu, 03 Dec 2015 10:36:18 -0800
"Shi, Yang" <yang.shi@xxxxxxxxxx> wrote:
called directly that calls these functions internally and the tracepoint
can trap the return value.
This will incur more changes in other subsystems (futex, kvm, etc), I'm
not sure if it is worth making such changes to get return value.
No, it wouldn't require any changes outside of this.
-long __get_user_pages(..)
+static long __get_user_pages_internal(..)
{
[..]
}
+
+long __get_user_pages(..)
+{
+ long ret;
+ ret = __get_user_pages_internal(..);
+ trace_get_user_pages(.., ret)
+}
Thanks for this. I just checked the fast version, it looks it just has
single return path, so this should be just needed by slow version.
I can probably make function_graph tracer give return values, although
it will give a return value for void functions as well. And it may give
long long returns for int returns that may have bogus data in the
higher bits.
If the return value requirement is not limited to gup, the approach
sounds more reasonable.
Others have asked about it. Maybe I should do it.
If you are going to add return value in common trace code, I won't do
the gup specific one in V3.
Thanks,
Yang
-- Steve
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>