Hi Vincent,
I'm actually adding Chris to Cc: as he is also part of the original discussion about rt-app.
On 05/08/14 22:45, Vincent Guittot wrote:
Hi Juri,
Here is the pull request for the changes that create a workload generator tool
Regards,
The following changes since commit 17be4548c4260b80be623e0e1317e98a770dea7a:
copyright added (2014-04-11 09:28:27 +0200)
are available in the git repository at:
git://git.linaro.org/power/rt-app.git master
for you to fetch changes up to 8cbaad65d00e3c64c4f941139bc11f4d07822474:
add a web browsing use case (2014-08-01 15:43:47 +0200)
Thanks for sharing changes in your repository, but IMHO it is somewhat difficult to review them in this form, as behavioural changes are intermixed with small fixes. Also, it would be good if we can integrate changes keeping git history clean. Ideally we could introduce functional changes followed by (or together with) examples showing what feature the change introduces. I know that this is time consuming, so I'm actually asking if you think you have some time to work on rearranging things.
Having a proper history could also ease review. I'd say we could try two different methods. I created a GitHub organization that now hosts the rt-app repo: https://github.com/scheduler-tools/rt-app. I also created a branch for the original version of the tool so that we can integrate changes on master.
Method 1) We use GitHub pull request feature to discuss changes and finally integrate them.
Method 2) You post the patchset (based on master) on linaro-dev mailing list, discussion happens on the mailing list (everybody can participate), after discussion I apply patches resulting from discussion on master.
I'd personally prefer method 2 as it is simpler and can probably get contributions from a wider audience. What other thinks?
We also said that the name of the tool could be changed, any opinions on this? Something like workload-gen or wload-gen ?
Thanks a lot.
Best Regards,
- Juri
Chris Muller (1): Update thread name
Juri Lelli (1): remove dependecy from sched_setattr (and sched_getattr is useless here)
Kevin Hilman (1): KJH: test JSON merge tool
Sanjay Singh Rawat (1): add delay param in thread parameters
Vincent Guittot (46): Minor clean up fix deadline print format consolidate trace and debug point update .gitignore update the .json test file remove a stray int add loop feature rt-app: make load frequency independent. Add new resources update example file with new capabilities add sleep and run type of resources update taskset.json example fix inconsistency in delay unit fix cpu affinity string info make possible to remove the sleep step modify stat to reflect new behavior update example file with more capabilities priority: Add priority to SCHED_OTHER fix: force all threads to wake up when exit calibration: parse for CPU or forces ns per loop value update example file with new capabilities resource: new sync resource add a examples directory Older kernels do not support the commands sched_[g|s]etattr. timing array size remove trailing space deadline: set deadline field to deadline parameter reorder the start sequence of threads fix use case without resources update header file and README move merge examples files in examples directory cleanup of doc directory update taskset.json Remove AQUOSA scheduler add phase feature various minor clean up fix for exit sequence ensure that the exec will not underflow update the todo list several cleanup remove conditional compilation of json command line is no more supported with new feature renaming for better understanding add a very simple example add a simple example add a web browsing use case
.gitignore | 8 + README.in | 93 +----- TODO | 12 +- configure.ac | 30 +- doc/examples/browser.json | 225 ++++++++++++++ doc/examples/example1.json | 23 ++ doc/examples/example2.json | 34 +++ doc/examples/merge/global.json | 12 + doc/examples/merge/resources.json | 11 + doc/examples/merge/thread0.json | 15 + doc/examples/merge/thread1.json | 14 + doc/examples/merge/thread2.json | 13 + doc/examples/merge/thread3.json | 13 + doc/examples/mp3.json | 76 +++++ doc/merge.py | 42 +++ doc/taskset.json | 132 +++++---- doc/taskset.yml | 53 ---- src/Makefile.am | 2 - src/rt-app.c | 609 ++++++++++++++++++++++++-------------- src/rt-app.h | 5 +- src/rt-app_args.c | 333 +-------------------- src/rt-app_args.h | 4 +- src/rt-app_parse_config.c | 469 +++++++++++++++++++++-------- src/rt-app_parse_config.h | 2 + src/rt-app_types.h | 103 ++++--- src/rt-app_utils.c | 130 +++++--- src/rt-app_utils.h | 38 ++- 27 files changed, 1491 insertions(+), 1010 deletions(-) create mode 100644 doc/examples/browser.json create mode 100644 doc/examples/example1.json create mode 100644 doc/examples/example2.json create mode 100644 doc/examples/merge/global.json create mode 100644 doc/examples/merge/resources.json create mode 100644 doc/examples/merge/thread0.json create mode 100644 doc/examples/merge/thread1.json create mode 100644 doc/examples/merge/thread2.json create mode 100644 doc/examples/merge/thread3.json create mode 100644 doc/examples/mp3.json create mode 100755 doc/merge.py delete mode 100644 doc/taskset.yml