#! /usr/bin/env stap
/*    Filename: migrate.stp
 *      Author: Ankita Garg <ankita@in.ibm.com>
 * Description: Captures information on the migration of a thread
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * Copyright (C) IBM Corp. 2009.  All Rights Reserved.
 * Copyright (C) 2015 Red Hat Inc.
 *
*/

probe kernel.trace("sched_migrate_task") !, kernel.function("__migrate_task")
{
  comm = task_execname($p)
  if (comm == @1) {
    printf ("thread %d (%s) is migrating from %d to %d \n",
	    task_tid($p), comm, task_cpu($p),
	    @choose_defined($new_cpu, $dest_cpu))
  }
}
