Date: Mon, 17 Aug 1998 16:42:37 -0400 (EDT) From: zhihuizhang <bf20761@binghamton.edu> To: hackers <freebsd-hackers@FreeBSD.ORG> Subject: Virtual Memory for buffer Message-ID: <Pine.SOL.L3.93.980817163010.19727B-100000@bingsun2>
next in thread | raw e-mail | index | archive | help
The virtual memory of buffer is allocated from buffer_map in getnewbuf() by calling vm_map_findspace() and vm_map_insert(). Its address is saved in b_kvasize and (sometimes) b_data. These are fine. However, when allocbuf() extend VMIO buffer size, it *truncates* b_data to a page boundary before entering buffer pages into KVA. I wonder if virtual address space is not always allocated on page boundary, then it is possible that after the PTE has changed to point to our buffer page, those virtual addresses that does not belong to us and yet in the same virtual page could lose their mappings because we truncate the b_data. I hope someone can clarify this for me. Thanks a lot. -------------------------------------------------- | Zhihui Zhang, http://cs.binghamton.edu/~zzhang | | Dept. of Computer Science, SUNY at Binghamton | -------------------------------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SOL.L3.93.980817163010.19727B-100000>