Hi Shailabh,Missed out on that. Need to add it back in.
Thanks for your effort in taskstats interface! Really appreciated!
I think this interface can offer a good foundation for other packages
to build on.
Here are a few more comments:
1) You mentioned the "version number within the (taskstats)
structure" in taskstats.txt and a few other places, but i do not see
that field defined in struct taskstats in taskstats.h?
2) In taskstats.txt "Extending taskstats" section, you mentioned twoYes, the second method is for other packages, which have very little in common with the struct
ways to extend the interface. The second method looks like a method
to encoureage other package developers to create their own interface
(ie, not taskstats) based on generic netlink to avoid reading large
number
of fields not interested to other particular applications? I will be
fine
with this as long as it is understood and agreed.
Alternatively, you may have considered the pros and cons of #ifdefI'd rather avoid doing an #ifdef'ed definition of the fields based on configuration of one or the other
fields specific to only one accounting package in the struct taskstats.
If you do, care to share your thoughts?
Specific payload informationBy "payload info" you mean some sort of bitmask (or encoding) which specifies which fields are present
can be carried in the version field. I am sure the version number of
struct
taskstats does not need 64 bits. With the version number and payload
info, application can surely interpret the taskstats data correctly.
3) In taskstats.txt "Usage" section, you mentioned "... in the AdvancedThanks for pointing it out. Should replace it with "per-tgid stats section".
Usage section below...", but that section does not exist.
4) In do_exit() routine, you do:Since accounting is non-critical, I didn't see the need for doing the check earlier if we're not going to do
+ taskstats_exit_alloc(&tidstats, &tgidstats);
The tidstats and tgidstats are checked in taskstats_exit_send() in
taskstats.c for allocation failure, but a lot has been processed before
the check. The allocation failure happens when system is stressed in
memory. I think we want to do the check earlier?
Regards,
- jay