默默的一块石头
发布时间:2022-01-26 10:07:46
1.test.c#include linux/module.h#include linux/init.h#include linux/export.hstatic DECLARE_WAIT_QUEUE_HEAD(test_wait);static wait_queue_head_t * get_wait_queue(void){ return &test_wait;}EXPORT_SYMBOL(get_wait_queue);static int flag = 0;static int getflag(void){ return flag;}.........【阅读全文】
发布时间:2022-01-24 17:04:20
void add_wait_queue_exclusive(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry){ unsigned long flags; wq_entry->flags |= WQ_FLAG_EXCLUSIVE; spin_lock_irqsave(&wq_head->lock, flags); __add_wait_queue_entry_tail(wq_head, wq_entry); spin_unlock_irqrestore(&wq_head->lock, flags).........【阅读全文】
发布时间:2022-01-24 14:58:31
1.睡眠队列static inline wait_queue_head_t *sk_sleep(struct sock *sk){ BUILD_BUG_ON(offsetof(struct socket_wq, wait) != 0); return &rcu_dereference_raw(sk->sk_wq)->wait;}static inline void sock_poll_wait(struct file *filp, struct socket *sock, poll_table *p){ if (!poll_does_not_wait(.........【阅读全文】
发布时间:2022-01-10 15:46:28
惊群现象是在多进程或者多线程场景下,多个进程或者多个线程在同一条件下睡眠,当唤醒条件发生的时候,会同时唤醒这些睡眠的进程或者线程,但是只有一个是可以成功执行的,而其他的进程或者线程被唤醒后存在着执行开销的浪费。Linux中惊群的触发多个进程或者线程在获取同一把锁的时候睡眠多个进程或者线程同时进行accep.........【阅读全文】
发布时间:2021-10-28 16:46:28
1.Cubic(1)cwnd降低的情况static inline bool tcp_in_cwnd_reduction(const struct sock *sk){ return (TCPF_CA_CWR | TCPF_CA_Recovery) & (1 icsk_ca_state);}static void tcp_cong_control(struct sock *sk, u32 ack, u32 acked_sacked, int .........【阅读全文】