[PATCH] Embed struct utrace in task_struct - V2
Ananth N Mavinakayanahalli
ananth at in.ibm.com
Tue Mar 3 07:51:29 UTC 2009
On Mon, Mar 02, 2009 at 04:07:54AM -0800, Roland McGrath wrote:
> Hi, Ananth. Sorry everything has slid so long (again).
> (I have far too many hats and the past month not so many brains!)
I understand. Thanks for the work, Roland.
> Here is my immediate agenda for utrace hacking:
>
> * I have incorporated the "embed struct utrace" changes.
>
> I did various small bits of reorganization and cosmetic cleanup
> first to make the actual data structure change a smaller patch.
> Since things had changed around, I didn't actually use your patch.
> I just did it over myself, but I think it's nearly the same.
The changes look simple and straightforward.
> After this change, we now need some fresh testing of things like Frank's
> ftrace widget and stap's utrace-using modes. (Nothing should have
> changed from the utrace API perspective.)
There is at least one change from the earlier behaviour -- rather than
utrace_attach_task() retrying by itself on a !parent attach, -EAGAIN is
returned to the user. That may need changes to the utrace client side.
> I've created the new branch "utrace-indirect" with a revert of the
> change. I think this is really the better way to organize the data
> structures, as I've mentioned before. After we get an initial utrace
> merged in upstream, I intend to revive this branch and turn it into an
> incremental patch to (re-)improve the data structures later on. That's
> for later; for the time being, the branch will just sit idle.
>
> * I've renamed "struct utrace_attached_engine" to "struct utrace_engine".
> This was a cosmetic suggestion in an earlier LKML review, and I could not
> really find any good reason to keep the longer name. We all seem to say
> "a utrace engine" in conversation when talking about this object.
>
> I added the UTRACE_API_VERSION macro to ease existing utrace-using code
> adapting to old/new names.
>
> * I'll shortly scour the old review comments for more cosmetic things we
> might change.
>
> * I would like to have a final "in-team" top-to-bottom review of the main
> utrace patch before sending to LKML. i.e. maybe by you, Frank, me, and Oleg.
> Each pair of eyeballs should:
> * make sure all barriers and other kinds of magic have adequate comments
> explaining why they are there and why they are correct
> * cite anything else that sticks out and maybe needs more comments
> * make sure all comments are accurate and understandable
I have just started staring at the new code and will pitch in with my
comments.
> * I want to resolve the UTRACE_STOP issues Renzo Davoli raised.
> (We don't have to get these API things perfect before posting upstream.
> I'm sure that once utrace is accepted on queue for merging, that later
> tweaks to its details will not meet particular resistance.) But if there
> are problems and changes we can identify and work out now, we might as
> well get that done before posting upstream.
>
> * When we on the team think the utrace patch is ready to post, we need to
> do a coordinated post of Frank's ftrace widget. That is the first thing
> ready for upstream submission that uses utrace, and kernel people tell me
> they don't want to see utrace without also merging something that uses
> it. I don't really want to get involved with that widget's code myself
> (got my hands full in the utrace layer), so others on the team should
> back Frank up on the review, testing, and fixing of the ftrace widget.
I've just started with implementing a non-disruptive application core
dump. Its probably too early to commit, but it could also be a potential
in-kernel user of utrace. I've just started with quiescing all threads
but need to plug-in the core generating infrastructure for it. I am looking at
the possibility of tweaking do_coredump() to reuse it for this while the
workhorse can just be the binfmt->core_dump() itself. Its still in the
early prototype stage -- I'll post that when there is something more
concrete. Ideas/suggestions welcome!
Ananth
More information about the utrace-devel
mailing list