Changes between Initial Version and Version 1 of Ticket #700, comment 2
- Timestamp:
- 2017-10-31T23:00:38Z (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #700, comment 2
initial v1 7 7 1. `locsrv` for some reason does not reply to the LOC_SERVICE_REGISTER request; since there is no IPC on which LOC_SERVICE_REGISTER depends directly, this could mean that the request in `locsrv` is blocking on a synchronization primitive 8 8 1. `locsrv` itself has 4 (!) active calls (method=1024) to ethip; had it been a single request, I would say this is LOC_EVENT_CAT_CHANGE(1024), but in this case I am not sure. 9 1. `ethip` is itself not answering any of the four 1024 calls from `locsrv` and sends IPC method 1029 to `e1k`9 1. `ethip` is itself not answering any of the four 1024 calls from `locsrv` and sends NIC_SET_STATE(NIC_STATE_ACTIVE) to `e1k`; it blocks in ethip_nic_check_new()->ethip_nic_open()->nic_set_state() and holds ethip_discovery_lock to prevent other invocations of ethip_nic_check_new() 10 10 1. `e1k` sends HW_RES_ENABLE_INTERRUPT for IRQ 11 to `pciintel` 11 11 1. `pciintel` sends IPC_CONNECT_ME_TO(2) to `ns` which in turn forwards it to `devman` … … 15 15 16 16 If in step 6 the four messages sent by `locsrv` to `ethip` are indeed LOC_SERVICE_REGISTER, then they are sent from loc_category_change_event(), which takes the callback_sess_mutex. Currently, there can be IPC_MAX_ASYNC_CALLS=4 active calls per one phone. This means that if there are more than 4 callback sessions in the callback_sess_list all going to a single destination, the whole fibril will be blocked inside the callback_sess_mutex-protected critical section. This would correspond to the blocked `nconfsrv` which is waiting for LOC_CALLBACK_CREATE reply from `locsrv`. This message could not be answered at this point because callback_sess_mutex is held. I don't, however, see how `ethip` could have over 4 callbacks registered at `locsrv`. 17 18 I also don't know yet, what the communication between `ethip` and `e1k` represents. Any tips?