默默的一块石头
发布时间: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-20 16:03:53
前言在了解零拷贝之前,我们先来看看标准的的I/O操作..1.传统IO的原理标准 I/O又被称作缓存 I/O ,大多数文件系统的默认 I/O 操作都是缓存 I/O。在 Linux 的缓存 I/O 机制中,操作系统会将 I/O 的数据先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。传统IO的原理缓存 I.........【阅读全文】