Lines Matching refs:xs_state

109 static struct xs_handle xs_state;  variable
171 spin_lock(&xs_state.reply_lock); in read_reply()
173 while (list_empty(&xs_state.reply_list)) { in read_reply()
174 spin_unlock(&xs_state.reply_lock); in read_reply()
177 wait_event_timeout(xs_state.reply_waitq, in read_reply()
178 !list_empty(&xs_state.reply_list), in read_reply()
189 spin_lock(&xs_state.reply_lock); in read_reply()
192 msg = list_entry(xs_state.reply_list.next, in read_reply()
196 spin_unlock(&xs_state.reply_lock); in read_reply()
210 mutex_lock(&xs_state.transaction_mutex); in transaction_start()
211 atomic_inc(&xs_state.transaction_count); in transaction_start()
212 mutex_unlock(&xs_state.transaction_mutex); in transaction_start()
217 if (atomic_dec_and_test(&xs_state.transaction_count)) in transaction_end()
218 wake_up(&xs_state.transaction_wq); in transaction_end()
223 mutex_lock(&xs_state.transaction_mutex); in transaction_suspend()
224 wait_event(xs_state.transaction_wq, in transaction_suspend()
225 atomic_read(&xs_state.transaction_count) == 0); in transaction_suspend()
230 mutex_unlock(&xs_state.transaction_mutex); in transaction_resume()
242 mutex_lock(&xs_state.request_mutex); in xenbus_dev_request_and_reply()
251 mutex_unlock(&xs_state.request_mutex); in xenbus_dev_request_and_reply()
284 mutex_lock(&xs_state.request_mutex); in xs_talkv()
288 mutex_unlock(&xs_state.request_mutex); in xs_talkv()
295 mutex_unlock(&xs_state.request_mutex); in xs_talkv()
302 mutex_unlock(&xs_state.request_mutex); in xs_talkv()
707 down_read(&xs_state.watch_mutex); in register_xenbus_watch()
722 up_read(&xs_state.watch_mutex); in register_xenbus_watch()
736 down_read(&xs_state.watch_mutex); in unregister_xenbus_watch()
747 up_read(&xs_state.watch_mutex); in unregister_xenbus_watch()
773 down_write(&xs_state.watch_mutex); in xs_suspend()
774 mutex_lock(&xs_state.request_mutex); in xs_suspend()
775 mutex_lock(&xs_state.response_mutex); in xs_suspend()
785 mutex_unlock(&xs_state.response_mutex); in xs_resume()
786 mutex_unlock(&xs_state.request_mutex); in xs_resume()
795 up_write(&xs_state.watch_mutex); in xs_resume()
800 mutex_unlock(&xs_state.response_mutex); in xs_suspend_cancel()
801 mutex_unlock(&xs_state.request_mutex); in xs_suspend_cancel()
802 up_write(&xs_state.watch_mutex); in xs_suspend_cancel()
803 mutex_unlock(&xs_state.transaction_mutex); in xs_suspend_cancel()
856 mutex_lock(&xs_state.response_mutex); in process_msg()
860 mutex_unlock(&xs_state.response_mutex); in process_msg()
921 spin_lock(&xs_state.reply_lock); in process_msg()
922 list_add_tail(&msg->list, &xs_state.reply_list); in process_msg()
923 spin_unlock(&xs_state.reply_lock); in process_msg()
924 wake_up(&xs_state.reply_waitq); in process_msg()
928 mutex_unlock(&xs_state.response_mutex); in process_msg()
952 INIT_LIST_HEAD(&xs_state.reply_list); in xs_init()
953 spin_lock_init(&xs_state.reply_lock); in xs_init()
954 init_waitqueue_head(&xs_state.reply_waitq); in xs_init()
956 mutex_init(&xs_state.request_mutex); in xs_init()
957 mutex_init(&xs_state.response_mutex); in xs_init()
958 mutex_init(&xs_state.transaction_mutex); in xs_init()
959 init_rwsem(&xs_state.watch_mutex); in xs_init()
960 atomic_set(&xs_state.transaction_count, 0); in xs_init()
961 init_waitqueue_head(&xs_state.transaction_wq); in xs_init()