In the function wake_up_new_task() a line has been added setting the task's cpu to "this_cpu" but the run queue for the other cpu is passed as the argument to __activate_task() which means that the task will end up being on the run queue for a cpu different to the one to which it has been assigned. The simple fix of changing "rq" to "this_rq" in the call to __activate_task() won't be safe as this_rq isn't locked at this stage.

The simplest fix is to retract the set_task_cpu(p, this_cpu) statement.

Peter
--
Dr Peter Williams, Chief Scientist                [EMAIL PROTECTED]
Aurema Pty Limited                                Tel:+61 2 9698 2322
PO Box 305, Strawberry Hills NSW 2012, Australia  Fax:+61 2 9699 9174
79 Myrtle Street, Chippendale NSW 2008, Australia http://www.aurema.com


------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ ckrm-tech mailing list https://lists.sourceforge.net/lists/listinfo/ckrm-tech

Reply via email to