Changeset 564 for trunk/kernel/kern/rpc.h
- Timestamp:
- Oct 4, 2018, 11:47:36 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/kern/rpc.h
r503 r564 29 29 #include <hal_atomic.h> 30 30 #include <bits.h> 31 #include <spinlock.h>32 31 #include <vseg.h> 33 32 #include <remote_fifo.h> … … 150 149 151 150 /*********************************************************************************** 152 * This function is the entry point for RPC handling on the server cluster. 153 * It is executed by the core receiving the IPI sent by the client thread. 154 * - If the RPC FIFO is empty, it deschedules. 155 * - If the RPC FIFO is not empty, it checks if it exist a non-blocked RPC thread 156 * in the cluster, creates a new one if required, and deschedule to allow 157 * the RPC thead to execute. 158 **********************************************************************************/ 159 void rpc_check( void ); 160 161 /*********************************************************************************** 162 * This function contains the loop to execute all pending RPCs on the server side. 163 * It is called by the rpc_thread_func() function with irq disabled, and after 164 * RPC_FIFO ownership acquisition. 165 *********************************************************************************** 166 * @ rpc_fifo : pointer on the local RPC fifo 167 **********************************************************************************/ 168 void rpc_execute_all( remote_fifo_t * rpc_fifo ); 169 170 /*********************************************************************************** 171 * This function contains the infinite loop executed by a RPC thread. 151 * This function contains the infinite loop executed by a RPC thread, 152 * to handle all pending RPCs registered in the RPC fifo attached to a given core. 172 153 **********************************************************************************/ 173 154 void rpc_thread_func( void ); … … 177 158 **********************************************************************************/ 178 159 void __attribute__((noinline)) rpc_undefined( xptr_t xp __attribute__ ((unused)) ); 179 180 160 181 161
Note: See TracChangeset
for help on using the changeset viewer.