内核中的红黑树不受保护?【JAVA教程】

!
也想出现在这里? 联系我们
信息

内核中的红黑树不受保护?,第1张

概述内核中的红黑树不受保护

在linux内核中,为了存储进程的内存区域,linux使用链表和红黑树。 find_vma是一个函数,它通过红黑树定位其vm_end字段大于传递地址的第一个内存区域。 但是,我发现find_vma()里面的红黑树没有任何保护(像锁)。 如果另一个线程调用rb_erase函数来删除树上的某个元素呢?

是的,find_vma函数调用被保护,避免通过信号量的并发访问。 在调度程序中,函数也用于信号调用。

2209 down_read(&mm->mmap_sem); 2210 vma = find_vma(mm,start); …. up_read(&mm->mmap_sem); mmap_sem is used to protect this function call which is a read-write semaphore. struct rw_semaphore mmap_sem; defined insIDe struct mm_struct.

总结

以上是内存溢出为你收集整理的内核中的红黑树不受保护?全部内容,希望文章能够帮你解决内核中的红黑树不受保护?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞113 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容