How can I schedule multiple interrupts and manage ICI association?
How can I schedule multiple interrupts and manage ICI association?
You can schedule multiple interrupts and manage ICI association with two different schemes. Below are the high level steps involved for both schemes.SCHEME 1: Schedule remote interrupts with two different ICIs============================================================SENDER @time1--------------//Create first ICIici_ptr_1 = op_ici_create (fmt);op_ici_attr_set (ici_ptr1, some_field, some_value);//Install first ICI and schedule event for time2op_ici_install (ici_ptr_1); op_intrpt_schedule_remote (remote1, time2);//Create second ICIici_ptr_2 = op_ici_create (fmt);op_ici_attr_set (ici_ptr_2, some_field, some_value);//Install second ICI and schedule event for time3op_ici_install (ici_ptr_2); op_intrpt_schedule_remote (remote1, time3);//Uninstall ICIsop_ici_install (NIL);RECEIVER @time2 and @time3-----------------------------ici_ptr = op_intrpt_ici ();op_ici_attr_get (ici_ptr, some_field, &some_value);op_ici_destroy (ici_ptr); <<<------------------ Receiver is responsible for managing the ICISCHEME 2: Schedule remote interrupts with a single ICI======================================================SENDER @time1--------------//Create first ICIici_ptr_1 = op_ici_create (fmt);op_ici_attr_set (ici_ptr1, some_field, some_value);//Install first ICI and schedule event for time2op_ici_install (ici_ptr_1); op_intrpt_force_remote (remote1, time2); <<<----------------- Notice forced interrupt// Change ICI contentsop_ici_attr_set (ici_ptr_1, some_field, some_other_value);op_intrpt_force_remote (remote1, time3); <<<----------------- Notice forced interrupt//Destroy ICIop_ici_destroy (ici_ptr_1); <<<------------------ Sender is responsible for managing the ICIRECEIVER @time2 and @time3-----------------------------ici_ptr = op_intrpt_ici ();op_ici_attr_get (ici_ptr, some_field, &some_value);keywords: iterrupts, ICIs
DES Kernel->Process Modeling/Coding