Add procname context for stateless traces

Signed-off-by: Mohamad Gebai <mohamad.gebai@polymtl.ca>
Add default location for events files

Signed-off-by: Mohamad Gebai <mohamad.gebai@polymtl.ca>
Add config folder to gitignore

Signed-off-by: Mohamad Gebai <mohamad.gebai@polymtl.ca>
Add wk-burnust to gitignore

Signed-off-by: Mohamad Gebai <mohamad.gebai@polymtl.ca>
Merge pull request #2 from mogeb/local-wk

New feature and fixes.
Add new profiles for specific purposes

* stock.list:  sched and irq events
* addons.list: stock and addons events
* sched.list:  only sched events

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Renamed stock.list to default.list

Prepare to use a default event list.

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Enable event subset by default

With newer kernels, too much events are enabled by default. Let's enable only
required events for the control flow view.

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
New release 0.1.16

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Reminder to check for lost events

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Merge branch 'master' of github.com:giraldeau/workload-kit
Prototype of interference load

Hog CPU for defined time at some frequency

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Replace sigaction with signal() function

Fix incoherent frequency because of sigaction.

Signed-off-by: Mohamad Gebai <mohamad.gebai@polymtl.ca>
Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Rename interference to pulse

Better name for this app

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Synchronize spin on period

Spin is now occuring on the period edge.

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Remove hrtimer events, add sched_migrate_task

High resolution timer events (init, start and cancel) are not required most of
the time. Remove them to reduce the overhead.

Add low-frequency sched_migrate_task to know when a task is changing runqueue.

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Support init and done callbacks in spin threads

Callbacks init_t and done_t are called if defined in the thread context.

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Add library for pinning thread to CPU

Convenience function to handle sched_setaffinity

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Integrate spin and pincpu into pulse

Trigger pulses on defined CPU set. Threads are dispatched in a round-robin way.

Example:

  wk-pulse --cpuset 0,0,1 --thread 4

  thread 0 -> CPU 0
  thread 1 -> CPU 0
  thread 2 -> CPU 1
  thread 3 -> CPU 0

Thus, thread 0,1,3 will wake-up at the same time and fight for the CPU for the
specified period of time. The period is fixed, if contention is very high, then
there is no guarantee a thread will run at all.

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Add pulse script with preempt

Trigger preemption on CPU 0 by two threads at regular interval.

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>