vm_page_xunbusy(9) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

vm_page_xunbusy(9)

Page  identity  is  usually  protected by higher level locks like
vm_object locks and vm page locks.  However, sometimes it is  not
possible  to  hold  such locks for the time necessary to complete
the identity change.  In such case the page  can  be  exclusively
busied  by a thread which needs to own the identity for a certain
amount of time.  In other situations,  threads  do  not  need  to
change  the  identity  of the page but they want to prevent other
threads from changing the identity themselves.  For example, when
a thread wants to access or update page contents without  a  lock
held the page is shared busied.  Before busying a page the vm_ob‐
ject lock must be held.  The same rule applies when a page is un‐
busied.   This  makes  the  vm_object lock a real busy interlock.
The function returns non-zero if the current thread busied in ei‐
ther exclusive or shared  mode.   Returns  zero  otherwise.   The
function  must  be used to downgrade from an exclusive busy state
to a shared busy state.  The function puts the invoking thread to
sleep using the appropriate waitchannels for the busy  mechanism.
The  parameter  is  a  string  describing the sleep condition for
userland tools.  The function returns  non-zero  if  the  current
thread busied in shared mode.  Returns zero otherwise.  The func‐
tion  shared  busies  The  function  puts  the invoking thread to
sleep, using the appropriate waitchannels for the busy mechanism,
if is busied in either exclusive or shared mode.  If the invoking
thread slept a non-zero value is returned,  otherwise  0  is  re‐
turned.  The parameter is a string describing the sleep condition
for userland tools.  The function shared unbusies The attempts to
shared  busy  If the operation cannot immediately succeed returns
0, otherwise a non-zero value is returned.  The attempts  to  ex‐
clusive  busy If the operation cannot immediately succeed returns
0, otherwise a non-zero value is returned.  The function  returns
non-zero if the current thread busied in exclusive mode.  Returns
zero  otherwise.   The function exclusive busies The function ex‐
clusive unbusies Assertions on the busy state allow kernels  com‐
piled  with and to panic if they are not respected.  The function
panics if is not shared busied.  The function panics  if  is  not
unbusied.  The function panics if is not exclusive busied.






























맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3