€•Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ'/translations/zh_CN/core-api/maple_tree”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/zh_TW/core-api/maple_tree”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/it_IT/core-api/maple_tree”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/ja_JP/core-api/maple_tree”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/ko_KR/core-api/maple_tree”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/pt_BR/core-api/maple_tree”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ'/translations/sp_SP/core-api/maple_tree”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒ!SPDX-License-Identifier: GPL-2.0+”h]”hŒ!SPDX-License-Identifier: GPL-2.0+”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒA/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree.rst”h´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ Maple Tree”h]”hŒ Maple Tree”…”�”}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhŒ field_list”“”)�”}”(hhh]”hŒfield”“”)�”}”(hhh]”(hŒ field_name”“”)�”}”(hŒAuthor”h]”hŒAuthor”…”�”}”(hhéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhhäh³hÇh´KubhŒ field_body”“”)�”}”(hŒLiam R. Howlett ”h]”hŒ paragraph”“”)�”}”(hŒLiam R. Howlett”h]”hŒLiam R. Howlett”…”�”}”(hhÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´Khhùubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hhäubeh}”(h]”h ]”h"]”h$]”h&]”uh1hâh³hÇh´Khhßh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhhÊh²hh³hÇh´KubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒOverview”h]”hŒOverview”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjh²hh³hÇh´K ubhþ)�”}”(hX—The Maple Tree is a B-Tree data type which is optimized for storing non-overlapping ranges, including ranges of size 1. The tree was designed to be simple to use and does not require a user written search method. It supports iterating over a range of entries and going to the previous or next entry in a cache-efficient manner. The tree can also be put into an RCU-safe mode of operation which allows reading and writing concurrently. Writers must synchronize on a lock, which can be the default spinlock, or the user can set the lock to an external lock of a different type. Note that external locks may interfere with allocations in a low memory situation.”h]”hX—The Maple Tree is a B-Tree data type which is optimized for storing non-overlapping ranges, including ranges of size 1. The tree was designed to be simple to use and does not require a user written search method. It supports iterating over a range of entries and going to the previous or next entry in a cache-efficient manner. The tree can also be put into an RCU-safe mode of operation which allows reading and writing concurrently. Writers must synchronize on a lock, which can be the default spinlock, or the user can set the lock to an external lock of a different type. Note that external locks may interfere with allocations in a low memory situation.”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K hjh²hubhþ)�”}”(hXKThe Maple Tree maintains a small memory footprint and was designed to use modern processor cache efficiently. The majority of the users will be able to use the normal API. An :ref:`maple-tree-advanced-api` exists for more complex scenarios. The most important usage of the Maple Tree is the tracking of the virtual memory areas.”h]”(hŒ±The Maple Tree maintains a small memory footprint and was designed to use modern processor cache efficiently. The majority of the users will be able to use the normal API. An ”…”�”}”(hj>h²hh³Nh´Nubh)�”}”(hŒ:ref:`maple-tree-advanced-api`”h]”hŒinline”“”)�”}”(hjHh]”hŒmaple-tree-advanced-api”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jJhjFubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œcore-api/maple_tree”Œ refdomain”jWŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆŒ reftarget”Œmaple-tree-advanced-api”uh1hh³hÇh´Khj>ubhŒ| exists for more complex scenarios. The most important usage of the Maple Tree is the tracking of the virtual memory areas.”…”�”}”(hj>h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´Khjh²hubhþ)�”}”(hXøThe Maple Tree can store values between ``0`` and ``ULONG_MAX``. The Maple Tree reserves values with the bottom two bits set to '10' which are below 4096 (ie 2, 6, 10 .. 4094) for internal use. If the entries may use reserved entries then the users can convert the entries using xa_mk_value() and convert them back by calling xa_to_value(). If the user needs to use a reserved value, then the user can convert the value when using the :ref:`maple-tree-advanced-api`, but are blocked by the normal API.”h]”(hŒ(The Maple Tree can store values between ”…”�”}”(hjuh²hh³Nh´NubhŒliteral”“”)�”}”(hŒ``0``”h]”hŒ0”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjuubhŒ and ”…”�”}”(hjuh²hh³Nh´Nubj~)�”}”(hŒ ``ULONG_MAX``”h]”hŒ ULONG_MAX”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjuubhX{. The Maple Tree reserves values with the bottom two bits set to ‘10’ which are below 4096 (ie 2, 6, 10 .. 4094) for internal use. If the entries may use reserved entries then the users can convert the entries using xa_mk_value() and convert them back by calling xa_to_value(). If the user needs to use a reserved value, then the user can convert the value when using the ”…”�”}”(hjuh²hh³Nh´Nubh)�”}”(hŒ:ref:`maple-tree-advanced-api`”h]”jK)�”}”(hj¥h]”hŒmaple-tree-advanced-api”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”(jVŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jJhj£ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jcŒ refdomain”j±Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjiŒmaple-tree-advanced-api”uh1hh³hÇh´KhjuubhŒ$, but are blocked by the normal API.”…”�”}”(hjuh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´Khjh²hubhþ)�”}”(hŒaThe Maple Tree can also be configured to support searching for a gap of a given size (or larger).”h]”hŒaThe Maple Tree can also be configured to support searching for a gap of a given size (or larger).”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K%hjh²hubhþ)�”}”(hXPre-allocating of nodes is also supported using the :ref:`maple-tree-advanced-api`. This is useful for users who must guarantee a successful store operation within a given code segment when allocating cannot be done. Allocations of nodes are relatively small at around 256 bytes.”h]”(hŒ4Pre-allocating of nodes is also supported using the ”…”�”}”(hjÛh²hh³Nh´Nubh)�”}”(hŒ:ref:`maple-tree-advanced-api`”h]”jK)�”}”(hjåh]”hŒmaple-tree-advanced-api”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”(jVŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jJhjãubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jcŒ refdomain”jñŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjiŒmaple-tree-advanced-api”uh1hh³hÇh´K(hjÛubhŒÇ. This is useful for users who must guarantee a successful store operation within a given code segment when allocating cannot be done. Allocations of nodes are relatively small at around 256 bytes.”…”�”}”(hjÛh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K(hjh²hubhþ)�”}”(hX$Since the maple tree uses internal nodes that are allocated and has rules on data density, erasing an entry may cause allocations to occur. That is, erasing an entry may consume memory. Users must take care to ensure that they do not violate the larger system constraints on when and how memory is allocated. Most situations are fine to allocate, but the pre-allocation support is provided as a mechanism to avoid trickier situations. There is also the possibility of using special entries and clean up the tree later, in extreme circumstances.”h]”hX$Since the maple tree uses internal nodes that are allocated and has rules on data density, erasing an entry may cause allocations to occur. That is, erasing an entry may consume memory. Users must take care to ensure that they do not violate the larger system constraints on when and how memory is allocated. Most situations are fine to allocate, but the pre-allocation support is provided as a mechanism to avoid trickier situations. There is also the possibility of using special entries and clean up the tree later, in extreme circumstances.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K.hjh²hubhŒtarget”“”)�”}”(hŒ.. _maple-tree-normal-api:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œmaple-tree-normal-api”uh1jh´K7hjh²hh³hÇubeh}”(h]”Œoverview”ah ]”h"]”Œoverview”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Normal API”h]”hŒ Normal API”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj1h²hh³hÇh´K:ubhþ)�”}”(hX«Start by initialising a maple tree, either with DEFINE_MTREE() for statically allocated maple trees or mt_init() for dynamically allocated ones. A freshly-initialised maple tree contains a ``NULL`` pointer for the range ``0`` - ``ULONG_MAX``. There are currently two types of maple trees supported: the allocation tree and the regular tree. The regular tree has a higher branching factor for internal nodes. The allocation tree has a lower branching factor but allows the user to search for a gap of a given size or larger from either ``0`` upwards or ``ULONG_MAX`` down. An allocation tree can be used by passing in the ``MT_FLAGS_ALLOC_RANGE`` flag when initialising the tree.”h]”(hŒ¾Start by initialising a maple tree, either with DEFINE_MTREE() for statically allocated maple trees or mt_init() for dynamically allocated ones. A freshly-initialised maple tree contains a ”…”�”}”(hjBh²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjBubhŒ pointer for the range ”…”�”}”(hjBh²hh³Nh´Nubj~)�”}”(hŒ``0``”h]”hŒ0”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjBubhŒ - ”…”�”}”(hjBh²hh³Nh´Nubj~)�”}”(hŒ ``ULONG_MAX``”h]”hŒ ULONG_MAX”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjBubhX). There are currently two types of maple trees supported: the allocation tree and the regular tree. The regular tree has a higher branching factor for internal nodes. The allocation tree has a lower branching factor but allows the user to search for a gap of a given size or larger from either ”…”�”}”(hjBh²hh³Nh´Nubj~)�”}”(hŒ``0``”h]”hŒ0”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjBubhŒ upwards or ”…”�”}”(hjBh²hh³Nh´Nubj~)�”}”(hŒ ``ULONG_MAX``”h]”hŒ ULONG_MAX”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjBubhŒ9 down. An allocation tree can be used by passing in the ”…”�”}”(hjBh²hh³Nh´Nubj~)�”}”(hŒ``MT_FLAGS_ALLOC_RANGE``”h]”hŒMT_FLAGS_ALLOC_RANGE”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjBubhŒ! flag when initialising the tree.”…”�”}”(hjBh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K)�”}”(hŒ¾Takes ma_lock internally: * mtree_store() * mtree_store_range() * mtree_insert() * mtree_insert_range() * mtree_erase() * mtree_dup() * mtree_destroy() * mt_set_in_rcu() * mt_clear_in_rcu() ”h]”(jD)�”}”(hŒTakes ma_lock internally:”h]”hŒTakes ma_lock internally:”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³hÇh´K†hjçubjT)�”}”(hhh]”jY)�”}”(hhh]”(j^)�”}”(hŒ mtree_store()”h]”hþ)�”}”(hjh]”hŒ mtree_store()”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K~hjÿubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjüubj^)�”}”(hŒmtree_store_range()”h]”hþ)�”}”(hjh]”hŒmtree_store_range()”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjüubj^)�”}”(hŒmtree_insert()”h]”hþ)�”}”(hj/h]”hŒmtree_insert()”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K€hj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjüubj^)�”}”(hŒmtree_insert_range()”h]”hþ)�”}”(hjFh]”hŒmtree_insert_range()”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K�hjDubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjüubj^)�”}”(hŒ mtree_erase()”h]”hþ)�”}”(hj]h]”hŒ mtree_erase()”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K‚hj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjüubj^)�”}”(hŒ mtree_dup()”h]”hþ)�”}”(hjth]”hŒ mtree_dup()”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´Kƒhjrubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjüubj^)�”}”(hŒmtree_destroy()”h]”hþ)�”}”(hj‹h]”hŒmtree_destroy()”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K„hj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjüubj^)�”}”(hŒmt_set_in_rcu()”h]”hþ)�”}”(hj¢h]”hŒmt_set_in_rcu()”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K…hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjüubj^)�”}”(hŒmt_clear_in_rcu() ”h]”hþ)�”}”(hŒmt_clear_in_rcu()”h]”hŒmt_clear_in_rcu()”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K†hj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjüubeh}”(h]”h ]”h"]”h$]”h&]”jÙjÚuh1jXh³hÇh´K~hjùubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjçubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³hÇh´K†hj:h²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjçh²hh³Nh´Nubhþ)�”}”(hXIf you want to take advantage of the internal lock to protect the data structures that you are storing in the Maple Tree, you can call mtree_lock() before calling mtree_load(), then take a reference count on the object you have found before calling mtree_unlock(). This will prevent stores from removing the object from the tree between looking up the object and incrementing the refcount. You can also use RCU to avoid dereferencing freed memory, but an explanation of that is beyond the scope of this document.”h]”hXIf you want to take advantage of the internal lock to protect the data structures that you are storing in the Maple Tree, you can call mtree_lock() before calling mtree_load(), then take a reference count on the object you have found before calling mtree_unlock(). This will prevent stores from removing the object from the tree between looking up the object and incrementing the refcount. You can also use RCU to avoid dereferencing freed memory, but an explanation of that is beyond the scope of this document.”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´Kˆhjçh²hubj)�”}”(hŒ.. _maple-tree-advanced-api:”h]”h}”(h]”h ]”h"]”h$]”h&]”j'Œmaple-tree-advanced-api”uh1jh´K‘hjçh²hh³hÇubeh}”(h]”Œlocking”ah ]”h"]”Œlocking”ah$]”h&]”uh1hÈhj1h²hh³hÇh´Koubeh}”(h]”(Œ normal-api”j(eh ]”h"]”(Œ normal api”Œmaple-tree-normal-api”eh$]”h&]”uh1hÈhhÊh²hh³hÇh´K:Œexpect_referenced_by_name”}”jjsŒexpect_referenced_by_id”}”j(jsubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Advanced API”h]”hŒ Advanced API”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjh²hh³hÇh´K”ubhþ)�”}”(hXÉThe advanced API offers more flexibility and better performance at the cost of an interface which can be harder to use and has fewer safeguards. You must take care of your own locking while using the advanced API. You can use the ma_lock, RCU or an external lock for protection. You can mix advanced and normal operations on the same array, as long as the locking is compatible. The :ref:`maple-tree-normal-api` is implemented in terms of the advanced API.”h]”(hX€The advanced API offers more flexibility and better performance at the cost of an interface which can be harder to use and has fewer safeguards. You must take care of your own locking while using the advanced API. You can use the ma_lock, RCU or an external lock for protection. You can mix advanced and normal operations on the same array, as long as the locking is compatible. The ”…”�”}”(hj&h²hh³Nh´Nubh)�”}”(hŒ:ref:`maple-tree-normal-api`”h]”jK)�”}”(hj0h]”hŒmaple-tree-normal-api”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”(jVŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jJhj.ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jcŒ refdomain”j<Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjiŒmaple-tree-normal-api”uh1hh³hÇh´K–hj&ubhŒ- is implemented in terms of the advanced API.”…”�”}”(hj&h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K–hjh²hubhþ)�”}”(hŒÌThe advanced API is based around the ma_state, this is where the 'mas' prefix originates. The ma_state struct keeps track of tree operations to make life easier for both internal and external tree users.”h]”hŒÐThe advanced API is based around the ma_state, this is where the ‘mas’ prefix originates. The ma_state struct keeps track of tree operations to make life easier for both internal and external tree users.”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´Kžhjh²hubhþ)�”}”(hŒaInitialising the maple tree is the same as in the :ref:`maple-tree-normal-api`. Please see above.”h]”(hŒ2Initialising the maple tree is the same as in the ”…”�”}”(hjfh²hh³Nh´Nubh)�”}”(hŒ:ref:`maple-tree-normal-api`”h]”jK)�”}”(hjph]”hŒmaple-tree-normal-api”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”(jVŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jJhjnubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jcŒ refdomain”j|Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjiŒmaple-tree-normal-api”uh1hh³hÇh´K¢hjfubhŒ. Please see above.”…”�”}”(hjfh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K¢hjh²hubhþ)�”}”(hŒaThe maple state keeps track of the range start and end in mas->index and mas->last, respectively.”h]”hŒaThe maple state keeps track of the range start and end in mas->index and mas->last, respectively.”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K¥hjh²hubhþ)�”}”(hŒ†mas_walk() will walk the tree to the location of mas->index and set the mas->index and mas->last according to the range for the entry.”h]”hŒ†mas_walk() will walk the tree to the location of mas->index and set the mas->index and mas->last according to the range for the entry.”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K¨hjh²hubhþ)�”}”(hŒÞYou can set entries using mas_store(). mas_store() will overwrite any entry with the new entry and return the first existing entry that is overwritten. The range is passed in as members of the maple state: index and last.”h]”hŒÞYou can set entries using mas_store(). mas_store() will overwrite any entry with the new entry and return the first existing entry that is overwritten. The range is passed in as members of the maple state: index and last.”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K«hjh²hubhþ)�”}”(hXYou can use mas_erase() to erase an entire range by setting index and last of the maple state to the desired range to erase. This will erase the first range that is found in that range, set the maple state index and last as the range that was erased and return the entry that existed at that location. Note that mas_erase() may allocate with the GFP_KERNEL __GFP_NOFAIL and cannot fail, but may sleep. If this is not okay, consider using mas_store_gfp() and pass it a ``NULL``, after setting up the correct range by walking to the entry.”h]”(hX×You can use mas_erase() to erase an entire range by setting index and last of the maple state to the desired range to erase. This will erase the first range that is found in that range, set the maple state index and last as the range that was erased and return the entry that existed at that location. Note that mas_erase() may allocate with the GFP_KERNEL __GFP_NOFAIL and cannot fail, but may sleep. If this is not okay, consider using mas_store_gfp() and pass it a ”…”�”}”(hjÂh²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÂubhŒ=, after setting up the correct range by walking to the entry.”…”�”}”(hjÂh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K¯hjh²hubhþ)�”}”(hŒøYou can walk each entry within a range by using mas_for_each(). If you want to walk each element of the tree then ``0`` and ``ULONG_MAX`` may be used as the range. If the lock needs to be periodically dropped, see the locking section mas_pause().”h]”(hŒsYou can walk each entry within a range by using mas_for_each(). If you want to walk each element of the tree then ”…”�”}”(hjâh²hh³Nh´Nubj~)�”}”(hŒ``0``”h]”hŒ0”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjâubhŒ and ”…”�”}”(hjâh²hh³Nh´Nubj~)�”}”(hŒ ``ULONG_MAX``”h]”hŒ ULONG_MAX”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjâubhŒn may be used as the range. If the lock needs to be periodically dropped, see the locking section mas_pause().”…”�”}”(hjâh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K¸hjh²hubhþ)�”}”(hXmUsing a maple state allows mas_next() and mas_prev() to function as if the tree was a linked list. With such a high branching factor the amortized performance penalty is outweighed by cache optimization. mas_next() will return the next entry which occurs after the entry at index. mas_prev() will return the previous entry which occurs before the entry at index.”h]”hXmUsing a maple state allows mas_next() and mas_prev() to function as if the tree was a linked list. With such a high branching factor the amortized performance penalty is outweighed by cache optimization. mas_next() will return the next entry which occurs after the entry at index. mas_prev() will return the previous entry which occurs before the entry at index.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´K½hjh²hubhþ)�”}”(hŒ†mas_find() will find the first entry which exists at or above index on the first call, and the next entry from every subsequent calls.”h]”hŒ†mas_find() will find the first entry which exists at or above index on the first call, and the next entry from every subsequent calls.”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´KÃhjh²hubhþ)�”}”(hŒ‘mas_find_rev() will find the first entry which exists at or below the last on the first call, and the previous entry from every subsequent calls.”h]”hŒ‘mas_find_rev() will find the first entry which exists at or below the last on the first call, and the previous entry from every subsequent calls.”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´KÆhjh²hubhþ)�”}”(hŒoIf the user needs to yield the lock during an operation, then the maple state must be paused using mas_pause().”h]”hŒoIf the user needs to yield the lock during an operation, then the maple state must be paused using mas_pause().”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´KÉhjh²hubhþ)�”}”(hXŸThere are a few extra interfaces provided when using an allocation tree. If you wish to search for a gap within a range, then mas_empty_area() or mas_empty_area_rev() can be used. mas_empty_area() searches for a gap starting at the lowest index given up to the maximum of the range. mas_empty_area_rev() searches for a gap starting at the highest index given and continues downward to the lower bound of the range.”h]”hXŸThere are a few extra interfaces provided when using an allocation tree. If you wish to search for a gap within a range, then mas_empty_area() or mas_empty_area_rev() can be used. mas_empty_area() searches for a gap starting at the lowest index given up to the maximum of the range. mas_empty_area_rev() searches for a gap starting at the highest index given and continues downward to the lower bound of the range.”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´KÌhjh²hubj)�”}”(hŒ.. _maple-tree-advanced-alloc:”h]”h}”(h]”h ]”h"]”h$]”h&]”j'Œmaple-tree-advanced-alloc”uh1jh´KÓhjh²hh³hÇubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒAdvanced Allocating Nodes”h]”hŒAdvanced Allocating Nodes”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjeh²hh³hÇh´KÖubhþ)�”}”(hX•Allocations are usually handled internally to the tree, however if allocations need to occur before a write occurs then calling mas_expected_entries() will allocate the worst-case number of needed nodes to insert the provided number of ranges. This also causes the tree to enter mass insertion mode. Once insertions are complete calling mas_destroy() on the maple state will free the unused allocations.”h]”hX•Allocations are usually handled internally to the tree, however if allocations need to occur before a write occurs then calling mas_expected_entries() will allocate the worst-case number of needed nodes to insert the provided number of ranges. This also causes the tree to enter mass insertion mode. Once insertions are complete calling mas_destroy() on the maple state will free the unused allocations.”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´KØhjeh²hubj)�”}”(hŒ.. _maple-tree-advanced-locks:”h]”h}”(h]”h ]”h"]”h$]”h&]”j'Œmaple-tree-advanced-locks”uh1jh´Kßhjeh²hh³hÇubeh}”(h]”(Œadvanced-allocating-nodes”jdeh ]”h"]”(Œadvanced allocating nodes”Œmaple-tree-advanced-alloc”eh$]”h&]”uh1hÈhjh²hh³hÇh´KÖj}”j•jZsj}”jdjZsubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒAdvanced Locking”h]”hŒAdvanced Locking”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjšh²hh³hÇh´Kâubhþ)�”}”(hX'The maple tree uses a spinlock by default, but external locks can be used for tree updates as well. To use an external lock, the tree must be initialized with the ``MT_FLAGS_LOCK_EXTERN`` flag, this is usually done with the MTREE_INIT_EXT() #define, which takes an external lock as an argument.”h]”(hŒ¤The maple tree uses a spinlock by default, but external locks can be used for tree updates as well. To use an external lock, the tree must be initialized with the ”…”�”}”(hj«h²hh³Nh´Nubj~)�”}”(hŒ``MT_FLAGS_LOCK_EXTERN``”h]”hŒMT_FLAGS_LOCK_EXTERN”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj«ubhŒk flag, this is usually done with the MTREE_INIT_EXT() #define, which takes an external lock as an argument.”…”�”}”(hj«h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³hÇh´Kähjšh²hubeh}”(h]”(Œadvanced-locking”jŽeh ]”h"]”(Œadvanced locking”Œmaple-tree-advanced-locks”eh$]”h&]”uh1hÈhjh²hh³hÇh´Kâj}”jÑj„sj}”jŽj„subeh}”(h]”(Œ advanced-api”jÿeh ]”h"]”(Œ advanced api”Œmaple-tree-advanced-api”eh$]”h&]”uh1hÈhhÊh²hh³hÇh´K”j}”jÜjõsj}”jÿjõsubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒFunctions and structures”h]”hŒFunctions and structures”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjáh²hh³hÇh´Kêubj)�”}”(hŒ.. _Maple tree flags:”h]”h}”(h]”h ]”h"]”h$]”h&]”j'Œmaple-tree-flags”uh1jh´Khjáh²hh³Nubhþ)�”}”(hŒ**Maple tree flags**”h]”hŒstrong”“”)�”}”(hjÿh]”hŒMaple tree flags”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjýubah}”(h]”jüah ]”h"]”Œmaple tree flags”ah$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Khjáh²hj}”jjòsj}”jüjòsubjY)�”}”(hhh]”(j^)�”}”(hŒ4MT_FLAGS_ALLOC_RANGE - Track gaps in this tree”h]”hþ)�”}”(hjh]”hŒ4MT_FLAGS_ALLOC_RANGE - Track gaps in this tree”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´KÄhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjubj^)�”}”(hŒ0MT_FLAGS_USE_RCU - Operate in RCU mode”h]”hþ)�”}”(hj7h]”hŒ0MT_FLAGS_USE_RCU - Operate in RCU mode”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´KÅhj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjubj^)�”}”(hŒIMT_FLAGS_HEIGHT_OFFSET - The position of the tree height in the flags”h]”hþ)�”}”(hjOh]”hŒIMT_FLAGS_HEIGHT_OFFSET - The position of the tree height in the flags”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´KÆhjMubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjubj^)�”}”(hŒEMT_FLAGS_HEIGHT_MASK - The mask for the maple tree height value”h]”hþ)�”}”(hjgh]”hŒEMT_FLAGS_HEIGHT_MASK - The mask for the maple tree height value”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´KÇhjeubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjubj^)�”}”(hŒ4MT_FLAGS_LOCK_MASK - How the mt_lock is used”h]”hþ)�”}”(hjh]”hŒ4MT_FLAGS_LOCK_MASK - How the mt_lock is used”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´KÈhj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjubj^)�”}”(hŒ.MT_FLAGS_LOCK_IRQ - Acquired irq-safe”h]”hþ)�”}”(hj—h]”hŒ.MT_FLAGS_LOCK_IRQ - Acquired irq-safe”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´KÉhj•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjubj^)�”}”(hŒ-MT_FLAGS_LOCK_BH - Acquired bh-safe”h]”hþ)�”}”(hj¯h]”hŒ-MT_FLAGS_LOCK_BH - Acquired bh-safe”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´KÊhj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjubj^)�”}”(hŒ1MT_FLAGS_LOCK_EXTERN - mt_lock is not used ”h]”hþ)�”}”(hŒ0MT_FLAGS_LOCK_EXTERN - mt_lock is not used”h]”hŒ0MT_FLAGS_LOCK_EXTERN - mt_lock is not used”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´KËhjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1j]hjubeh}”(h]”h ]”h"]”h$]”h&]”jÙjÚuh1jXh³j.h´KÄhjáh²hubhþ)�”}”(hŒ:MAPLE_HEIGHT_MAX The largest height that can be stored”h]”hŒ:MAPLE_HEIGHT_MAX The largest height that can be stored”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´KÍhjáh²hubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”ŒMTREE_INIT (C macro)”Œ c.MTREE_INIT”hNt”auh1jóhjáh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒ MTREE_INIT”h]”hŒdesc_signature_line”“”)�”}”(hŒ MTREE_INIT”h]”hŒ desc_name”“”)�”}”(hŒ MTREE_INIT”h]”hŒ desc_sig_name”“”)�”}”(hj h]”hŒ MTREE_INIT”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1j hj ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1j hj h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1j Œsphinx_line_type”Œ declarator”hj h²hh³j3 h´Mubah}”(h]”j ah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1j h³j3 h´Mhj h²hubhŒ desc_content”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jH hj h²hh³j3 h´Mubeh}”(h]”h ]”(Œc”Œmacro”eh"]”h$]”h&]”Œdomain”jV Œobjtype”jW Œdesctype”jW Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1j h²hhjáh³Nh´Nubhþ)�”}”(hŒ``MTREE_INIT (name, __flags)``”h]”j~)�”}”(hjc h]”hŒMTREE_INIT (name, __flags)”…”�”}”(hje h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hja ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhjáh²hubhŒ block_quote”“”)�”}”(hŒInitialize a maple tree ”h]”hþ)�”}”(hŒInitialize a maple tree”h]”hŒInitialize a maple tree”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhj{ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jy h³j� h´Mhjáh²hubhŒ container”“”)�”}”(hŒR**Parameters** ``name`` The maple tree name ``__flags`` The maple tree flags”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjœ h]”hŒ Parameters”…”�”}”(hjž h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjš ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhj– ubj9)�”}”(hhh]”(j>)�”}”(hŒ``name`` The maple tree name ”h]”(jD)�”}”(hŒ``name``”h]”j~)�”}”(hj» h]”hŒname”…”�”}”(hj½ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj¹ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhjµ ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree name”h]”hŒThe maple tree name”…”�”}”(hjÔ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jÐ h´MhjÑ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjµ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jÐ h´Mhj² ubj>)�”}”(hŒ ``__flags`` The maple tree flags”h]”(jD)�”}”(hŒ ``__flags``”h]”j~)�”}”(hjô h]”hŒ__flags”…”�”}”(hjö h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjò ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhjî ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree flags”h]”hŒThe maple tree flags”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjî ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j h´Mhj² ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj– ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j ŒMTREE_INIT_EXT (C macro)”Œc.MTREE_INIT_EXT”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒMTREE_INIT_EXT”h]”j )�”}”(hŒMTREE_INIT_EXT”h]”j )�”}”(hŒMTREE_INIT_EXT”h]”j )�”}”(hjH h]”hŒMTREE_INIT_EXT”…”�”}”(hjR h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjN ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjJ h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjF h²hh³je h´Mubah}”(h]”jA ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³je h´MhjC h²hubjI )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jH hjC h²hh³je h´Mubeh}”(h]”h ]”(jV Œmacro”eh"]”h$]”h&]”j[ jV j\ j~ j] j~ j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubhþ)�”}”(hŒ*``MTREE_INIT_EXT (name, __flags, __lock)``”h]”j~)�”}”(hj„ h]”hŒ&MTREE_INIT_EXT (name, __flags, __lock)”…”�”}”(hj† h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj‚ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhjáh²hubjz )�”}”(hŒ/Initialize a maple tree with an external lock. ”h]”hþ)�”}”(hŒ.Initialize a maple tree with an external lock.”h]”hŒ.Initialize a maple tree with an external lock.”…”�”}”(hjž h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhjš ubah}”(h]”h ]”h"]”h$]”h&]”uh1jy h³j¬ h´Mhjáh²hubj• )�”}”(hŒl**Parameters** ``name`` The tree name ``__flags`` The maple tree flags ``__lock`` The external lock”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj¹ h]”hŒ Parameters”…”�”}”(hj» h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj· ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M hj³ ubj9)�”}”(hhh]”(j>)�”}”(hŒ``name`` The tree name ”h]”(jD)�”}”(hŒ``name``”h]”j~)�”}”(hjØ h]”hŒname”…”�”}”(hjÚ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÖ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MhjÒ ubjT)�”}”(hhh]”hþ)�”}”(hŒ The tree name”h]”hŒ The tree name”…”�”}”(hjñ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jí h´Mhjî ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÒ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jí h´MhjÏ ubj>)�”}”(hŒ!``__flags`` The maple tree flags ”h]”(jD)�”}”(hŒ ``__flags``”h]”j~)�”}”(hj h]”hŒ__flags”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhj ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree flags”h]”hŒThe maple tree flags”…”�”}”(hj* h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j& h´Mhj' ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j& h´MhjÏ ubj>)�”}”(hŒ``__lock`` The external lock”h]”(jD)�”}”(hŒ ``__lock``”h]”j~)�”}”(hjJ h]”hŒ__lock”…”�”}”(hjL h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjH ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M hjD ubjT)�”}”(hhh]”hþ)�”}”(hŒThe external lock”h]”hŒThe external lock”…”�”}”(hjc h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhj` ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjD ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j_ h´M hjÏ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj³ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmtree_empty (C function)”Œ c.mtree_empty”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ.bool mtree_empty (const struct maple_tree *mt)”h]”j )�”}”(hŒ-bool mtree_empty(const struct maple_tree *mt)”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒbool”h]”hŒbool”…”�”}”(hj¦ h²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1j¤ hj  h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M‚ubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸ h²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1j¶ hj  h²hh³jµ h´M‚ubj )�”}”(hŒ mtree_empty”h]”j )�”}”(hŒ mtree_empty”h]”hŒ mtree_empty”…”�”}”(hjË h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÇ ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj  h²hh³jµ h´M‚ubhŒdesc_parameterlist”“”)�”}”(hŒ(const struct maple_tree *mt)”h]”hŒdesc_parameter”“”)�”}”(hŒconst struct maple_tree *mt”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒconst”h]”hŒconst”…”�”}”(hjí h²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1jë hjç ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjü h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjç ubjì )�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjç ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjç ubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hj) h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj& ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”Œ identifier”Œ reftarget”j+ Œmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”jD Œ ASTIdentifier”“”)�”}”j? jÍ sbŒ c.mtree_empty”†”asbuh1hhjç ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQ h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjç ubhŒdesc_sig_punctuation”“”)�”}”(hjÚh]”hŒ*”…”�”}”(hja h²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1j_ hjç ubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hjo h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjç ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjá ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj  h²hh³jµ h´M‚ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjœ h²hh³jµ h´M‚ubah}”(h]”j— ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jµ h´M‚hj™ h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ,Determine if a tree has any present entries.”h]”hŒ,Determine if a tree has any present entries.”…”�”}”(hj™ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M‚hj– h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj™ h²hh³jµ h´M‚ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j± j] j± j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒ—**Parameters** ``const struct maple_tree *mt`` Maple Tree. **Context** Any context. **Return** ``true`` if the tree contains only NULL pointers.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj» h]”hŒ Parameters”…”�”}”(hj½ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M†hjµ ubj9)�”}”(hhh]”j>)�”}”(hŒ,``const struct maple_tree *mt`` Maple Tree. ”h]”(jD)�”}”(hŒ``const struct maple_tree *mt``”h]”j~)�”}”(hjÚ h]”hŒconst struct maple_tree *mt”…”�”}”(hjÜ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjØ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MƒhjÔ ubjT)�”}”(hhh]”hþ)�”}”(hŒ Maple Tree.”h]”hŒ Maple Tree.”…”�”}”(hjó h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jï h´Mƒhjð ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÔ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jï h´MƒhjÑ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hjµ ubhþ)�”}”(hŒ **Context**”h]”j)�”}”(hj h]”hŒContext”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M…hjµ ubhþ)�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hj+ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M…hjµ ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj< h]”hŒReturn”…”�”}”(hj> h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj: ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M‡hjµ ubhþ)�”}”(hŒ1``true`` if the tree contains only NULL pointers.”h]”(j~)�”}”(hŒ``true``”h]”hŒtrue”…”�”}”(hjV h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjR ubhŒ) if the tree contains only NULL pointers.”…”�”}”(hjR h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M†hjµ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_reset (C function)”Œ c.mas_reset”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ%void mas_reset (struct ma_state *mas)”h]”j )�”}”(hŒ$void mas_reset(struct ma_state *mas)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj‹ h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mgubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjž h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj‹ h²hh³j� h´Mgubj )�”}”(hŒ mas_reset”h]”j )�”}”(hŒ mas_reset”h]”hŒ mas_reset”…”�”}”(hj° h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj¬ ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj‹ h²hh³j� h´Mgubjà )�”}”(hŒ(struct ma_state *mas)”h]”jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjÌ h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjÈ ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙ h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÈ ubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hjê h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjç ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jì Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j² sbŒ c.mas_reset”†”asbuh1hhjÈ ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÈ ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjÈ ubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÈ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjÄ ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj‹ h²hh³j� h´Mgubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj‡ h²hh³j� h´Mgubah}”(h]”j‚ ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j� h´Mghj„ h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ#Reset a Maple Tree operation state.”h]”hŒ#Reset a Maple Tree operation state.”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MghjLh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj„ h²hh³j� h´Mgubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jgj] jgj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX**Parameters** ``struct ma_state *mas`` Maple Tree operation state. **Description** Resets the error or walk state of the **mas** so future walks of the array will start from the root. Use this if you have dropped the lock and want to reuse the ma_state. **Context** Any context.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjqh]”hŒ Parameters”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjoubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mkhjkubj9)�”}”(hhh]”j>)�”}”(hŒ5``struct ma_state *mas`` Maple Tree operation state. ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hj�h]”hŒstruct ma_state *mas”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MhhjŠubjT)�”}”(hhh]”hþ)�”}”(hŒMaple Tree operation state.”h]”hŒMaple Tree operation state.”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j¥h´Mhhj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j¥h´Mhhj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hjkubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjËh]”hŒ Description”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mjhjkubhþ)�”}”(hŒ«Resets the error or walk state of the **mas** so future walks of the array will start from the root. Use this if you have dropped the lock and want to reuse the ma_state.”h]”(hŒ&Resets the error or walk state of the ”…”�”}”(hjáh²hh³Nh´Nubj)�”}”(hŒ**mas**”h]”hŒmas”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjáubhŒ~ so future walks of the array will start from the root. Use this if you have dropped the lock and want to reuse the ma_state.”…”�”}”(hjáh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mihjkubhþ)�”}”(hŒ **Context**”h]”j)�”}”(hjh]”hŒContext”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mmhjkubhþ)�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mnhjkubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_for_each (C macro)”Œc.mas_for_each”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ mas_for_each”h]”j )�”}”(hŒ mas_for_each”h]”j )�”}”(hŒ mas_for_each”h]”j )�”}”(hjCh]”hŒ mas_for_each”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjIubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjEh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mwubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjAh²hh³j`h´Mwubah}”(h]”j<ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j`h´Mwhj>h²hubjI )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jH hj>h²hh³j`h´Mwubeh}”(h]”h ]”(jV Œmacro”eh"]”h$]”h&]”j[ jV j\ jyj] jyj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubhþ)�”}”(hŒ(``mas_for_each (__mas, __entry, __max)``”h]”j~)�”}”(hjh]”hŒ$mas_for_each (__mas, __entry, __max)”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Myhjáh²hubjz )�”}”(hŒ(Iterate over a range of the maple tree. ”h]”hþ)�”}”(hŒ'Iterate over a range of the maple tree.”h]”hŒ'Iterate over a range of the maple tree.”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mwhj•ubah}”(h]”h ]”h"]”h$]”h&]”uh1jy h³j§h´Mwhjáh²hubj• )�”}”(hX0**Parameters** ``__mas`` Maple Tree operation state (maple_state) ``__entry`` Entry retrieved from the tree ``__max`` maximum index to retrieve from the tree **Description** When returned, mas->index and mas->last will hold the entire range for the entry. **Note** may return the zero entry.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj´h]”hŒ Parameters”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj²ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M{hj®ubj9)�”}”(hhh]”(j>)�”}”(hŒ3``__mas`` Maple Tree operation state (maple_state) ”h]”(jD)�”}”(hŒ ``__mas``”h]”j~)�”}”(hjÓh]”hŒ__mas”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MxhjÍubjT)�”}”(hhh]”hþ)�”}”(hŒ(Maple Tree operation state (maple_state)”h]”hŒ(Maple Tree operation state (maple_state)”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jèh´Mxhjéubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jèh´MxhjÊubj>)�”}”(hŒ*``__entry`` Entry retrieved from the tree ”h]”(jD)�”}”(hŒ ``__entry``”h]”j~)�”}”(hj h]”hŒ__entry”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MyhjubjT)�”}”(hhh]”hþ)�”}”(hŒEntry retrieved from the tree”h]”hŒEntry retrieved from the tree”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j!h´Myhj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j!h´MyhjÊubj>)�”}”(hŒ2``__max`` maximum index to retrieve from the tree ”h]”(jD)�”}”(hŒ ``__max``”h]”j~)�”}”(hjEh]”hŒ__max”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjCubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mzhj?ubjT)�”}”(hhh]”hþ)�”}”(hŒ'maximum index to retrieve from the tree”h]”hŒ'maximum index to retrieve from the tree”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jZh´Mzhj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jZh´MzhjÊubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj®ubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hj€h]”hŒ Description”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M|hj®ubhþ)�”}”(hŒQWhen returned, mas->index and mas->last will hold the entire range for the entry.”h]”hŒQWhen returned, mas->index and mas->last will hold the entire range for the entry.”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M{hj®ubhþ)�”}”(hŒ**Note**”h]”j)�”}”(hj§h]”hŒNote”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M~hj®ubhþ)�”}”(hŒmay return the zero entry.”h]”hŒmay return the zero entry.”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhj®ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_for_each_rev (C macro)”Œc.mas_for_each_rev”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒmas_for_each_rev”h]”j )�”}”(hŒmas_for_each_rev”h]”j )�”}”(hŒmas_for_each_rev”h]”j )�”}”(hjæh]”hŒmas_for_each_rev”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjìubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjèh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M…ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjäh²hh³jh´M…ubah}”(h]”jßah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jh´M…hjáh²hubjI )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jH hjáh²hh³jh´M…ubeh}”(h]”h ]”(jV Œmacro”eh"]”h$]”h&]”j[ jV j\ jj] jj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubhþ)�”}”(hŒ,``mas_for_each_rev (__mas, __entry, __min)``”h]”j~)�”}”(hj"h]”hŒ(mas_for_each_rev (__mas, __entry, __min)”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M‡hjáh²hub•sjz )�”}”(hŒ9Iterate over a range of the maple tree in reverse order. ”h]”hþ)�”}”(hŒ8Iterate over a range of the maple tree in reverse order.”h]”hŒ8Iterate over a range of the maple tree in reverse order.”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M…hj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jy h³jJh´M…hjáh²hubj• )�”}”(hX0**Parameters** ``__mas`` Maple Tree operation state (maple_state) ``__entry`` Entry retrieved from the tree ``__min`` minimum index to retrieve from the tree **Description** When returned, mas->index and mas->last will hold the entire range for the entry. **Note** may return the zero entry.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjWh]”hŒ Parameters”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjUubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M‰hjQubj9)�”}”(hhh]”(j>)�”}”(hŒ3``__mas`` Maple Tree operation state (maple_state) ”h]”(jD)�”}”(hŒ ``__mas``”h]”j~)�”}”(hjvh]”hŒ__mas”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjtubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M†hjpubjT)�”}”(hhh]”hþ)�”}”(hŒ(Maple Tree operation state (maple_state)”h]”hŒ(Maple Tree operation state (maple_state)”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j‹h´M†hjŒubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjpubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j‹h´M†hjmubj>)�”}”(hŒ*``__entry`` Entry retrieved from the tree ”h]”(jD)�”}”(hŒ ``__entry``”h]”j~)�”}”(hj¯h]”hŒ__entry”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M‡hj©ubjT)�”}”(hhh]”hþ)�”}”(hŒEntry retrieved from the tree”h]”hŒEntry retrieved from the tree”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jÄh´M‡hjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj©ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jÄh´M‡hjmubj>)�”}”(hŒ2``__min`` minimum index to retrieve from the tree ”h]”(jD)�”}”(hŒ ``__min``”h]”j~)�”}”(hjèh]”hŒ__min”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjæubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MˆhjâubjT)�”}”(hhh]”hþ)�”}”(hŒ'minimum index to retrieve from the tree”h]”hŒ'minimum index to retrieve from the tree”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jýh´Mˆhjþubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjâubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jýh´Mˆhjmubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjQubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hj#h]”hŒ Description”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MŠhjQubhþ)�”}”(hŒQWhen returned, mas->index and mas->last will hold the entire range for the entry.”h]”hŒQWhen returned, mas->index and mas->last will hold the entire range for the entry.”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M‰hjQubhþ)�”}”(hŒ**Note**”h]”j)�”}”(hjJh]”hŒNote”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjHubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MŒhjQubhþ)�”}”(hŒmay return the zero entry.”h]”hŒmay return the zero entry.”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M�hjQubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ__mas_set_range (C function)”Œc.__mas_set_range”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒTvoid __mas_set_range (struct ma_state *mas, unsigned long start, unsigned long last)”h]”j )�”}”(hŒSvoid __mas_set_range(struct ma_state *mas, unsigned long start, unsigned long last)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj‹h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj‹h²hh³j�h´Mubj )�”}”(hŒ__mas_set_range”h]”j )�”}”(hŒ__mas_set_range”h]”hŒ__mas_set_range”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj¬ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj‹h²hh³j�h´Mubjà )�”}”(hŒ?(struct ma_state *mas, unsigned long start, unsigned long last)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjÈubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÈubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjçubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jìŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j²sbŒc.__mas_set_range”†”asbuh1hhjÈubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÈubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjÈubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÈubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjÄubjæ )�”}”(hŒunsigned long start”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj:ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj:ubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj:ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj:ubj )�”}”(hŒstart”h]”hŒstart”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj:ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjÄubjæ )�”}”(hŒunsigned long last”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj‹ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj‹ubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj‹ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj‹ubj )�”}”(hŒlast”h]”hŒlast”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj‹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjÄubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj‹h²hh³j�h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj‡h²hh³j�h´Mubah}”(h]”j‚ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j�h´Mhj„h²hubjI )�”}”(hhh]”hþ)�”}”(hŒISet up Maple Tree operation state to a sub-range of the current location.”h]”hŒISet up Maple Tree operation state to a sub-range of the current location.”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhjîh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj„h²hh³j�h´Mubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j j] j j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hXT**Parameters** ``struct ma_state *mas`` Maple Tree operation state. ``unsigned long start`` New start of range in the Maple Tree. ``unsigned long last`` New end of range in the Maple Tree. **Description** set the internal maple state values to a sub-range. Please use mas_set_range() if you do not know where you are in the tree.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhj ubj9)�”}”(hhh]”(j>)�”}”(hŒ5``struct ma_state *mas`` Maple Tree operation state. ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hj2h]”hŒstruct ma_state *mas”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhj,ubjT)�”}”(hhh]”hþ)�”}”(hŒMaple Tree operation state.”h]”hŒMaple Tree operation state.”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jGh´MhjHubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jGh´Mhj)ubj>)�”}”(hŒ>``unsigned long start`` New start of range in the Maple Tree. ”h]”(jD)�”}”(hŒ``unsigned long start``”h]”j~)�”}”(hjkh]”hŒunsigned long start”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjiubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MhjeubjT)�”}”(hhh]”hþ)�”}”(hŒ%New start of range in the Maple Tree.”h]”hŒ%New start of range in the Maple Tree.”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j€h´Mhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j€h´Mhj)ubj>)�”}”(hŒ;``unsigned long last`` New end of range in the Maple Tree. ”h]”(jD)�”}”(hŒ``unsigned long last``”h]”j~)�”}”(hj¤h]”hŒunsigned long last”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MhjžubjT)�”}”(hhh]”hþ)�”}”(hŒ#New end of range in the Maple Tree.”h]”hŒ#New end of range in the Maple Tree.”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j¹h´Mhjºubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjžubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j¹h´Mhj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj ubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjßh]”hŒ Description”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhj ubhþ)�”}”(hŒ|set the internal maple state values to a sub-range. Please use mas_set_range() if you do not know where you are in the tree.”h]”hŒ|set the internal maple state values to a sub-range. Please use mas_set_range() if you do not know where you are in the tree.”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_set_range (C function)”Œc.mas_set_range”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒRvoid mas_set_range (struct ma_state *mas, unsigned long start, unsigned long last)”h]”j )�”}”(hŒQvoid mas_set_range(struct ma_state *mas, unsigned long start, unsigned long last)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M#ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj h²hh³j2h´M#ubj )�”}”(hŒ mas_set_range”h]”j )�”}”(hŒ mas_set_range”h]”hŒ mas_set_range”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjAubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj h²hh³j2h´M#ubjà )�”}”(hŒ?(struct ma_state *mas, unsigned long start, unsigned long last)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj]ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj]ubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj|ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j�Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jGsbŒc.mas_set_range”†”asbuh1hhj]ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj]ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj]ubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj]ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjYubjæ )�”}”(hŒunsigned long start”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjÏubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÏubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjÏubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÏubj )�”}”(hŒstart”h]”hŒstart”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÏubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjYubjæ )�”}”(hŒunsigned long last”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj ubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj ubj )�”}”(hŒlast”h]”hŒlast”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjYubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj h²hh³j2h´M#ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjh²hh³j2h´M#ubah}”(h]”jah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j2h´M#hjh²hubjI )�”}”(hhh]”hþ)�”}”(hŒ8Set up Maple Tree operation state for a different index.”h]”hŒ8Set up Maple Tree operation state for a different index.”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M#hjƒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjh²hh³j2h´M#ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jžj] jžj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hXx**Parameters** ``struct ma_state *mas`` Maple Tree operation state. ``unsigned long start`` New start of range in the Maple Tree. ``unsigned long last`` New end of range in the Maple Tree. **Description** Move the operation state to refer to a different range. This will have the effect of starting a walk from the top; see mas_next() to move to an adjacent index.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj¨h]”hŒ Parameters”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M'hj¢ubj9)�”}”(hhh]”(j>)�”}”(hŒ5``struct ma_state *mas`` Maple Tree operation state. ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hjÇh]”hŒstruct ma_state *mas”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M$hjÁubjT)�”}”(hhh]”hþ)�”}”(hŒMaple Tree operation state.”h]”hŒMaple Tree operation state.”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jÜh´M$hjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jÜh´M$hj¾ubj>)�”}”(hŒ>``unsigned long start`` New start of range in the Maple Tree. ”h]”(jD)�”}”(hŒ``unsigned long start``”h]”j~)�”}”(hjh]”hŒunsigned long start”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjþubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M%hjúubjT)�”}”(hhh]”hþ)�”}”(hŒ%New start of range in the Maple Tree.”h]”hŒ%New start of range in the Maple Tree.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jh´M%hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjúubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jh´M%hj¾ubj>)�”}”(hŒ;``unsigned long last`` New end of range in the Maple Tree. ”h]”(jD)�”}”(hŒ``unsigned long last``”h]”j~)�”}”(hj9h]”hŒunsigned long last”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M&hj3ubjT)�”}”(hhh]”hþ)�”}”(hŒ#New end of range in the Maple Tree.”h]”hŒ#New end of range in the Maple Tree.”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jNh´M&hjOubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jNh´M&hj¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj¢ubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjth]”hŒ Description”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjrubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M(hj¢ubhþ)�”}”(hŒ Move the operation state to refer to a different range. This will have the effect of starting a walk from the top; see mas_next() to move to an adjacent index.”h]”hŒ Move the operation state to refer to a different range. This will have the effect of starting a walk from the top; see mas_next() to move to an adjacent index.”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M'hj¢ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_set (C function)”Œ c.mas_set”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ8void mas_set (struct ma_state *mas, unsigned long index)”h]”j )�”}”(hŒ7void mas_set(struct ma_state *mas, unsigned long index)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjµh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M4ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjµh²hh³jÇh´M4ubj )�”}”(hŒmas_set”h]”j )�”}”(hŒmas_set”h]”hŒmas_set”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÖubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjµh²hh³jÇh´M4ubjà )�”}”(hŒ+(struct ma_state *mas, unsigned long index)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjòubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjòubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jÜsbŒ c.mas_set”†”asbuh1hhjòubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjòubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjòubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjòubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjîubjæ )�”}”(hŒunsigned long index”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjdubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjdubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjdubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjdubj )�”}”(hŒindex”h]”hŒindex”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjdubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjîubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjµh²hh³jÇh´M4ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj±h²hh³jÇh´M4ubah}”(h]”j¬ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jÇh´M4hj®h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ8Set up Maple Tree operation state for a different index.”h]”hŒ8Set up Maple Tree operation state for a different index.”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M4hjÇh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj®h²hh³jÇh´M4ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jâj] jâj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX3**Parameters** ``struct ma_state *mas`` Maple Tree operation state. ``unsigned long index`` New index into the Maple Tree. **Description** Move the operation state to refer to a different index. This will have the effect of starting a walk from the top; see mas_next() to move to an adjacent index.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjìh]”hŒ Parameters”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjêubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M8hjæubj9)�”}”(hhh]”(j>)�”}”(hŒ5``struct ma_state *mas`` Maple Tree operation state. ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hj h]”hŒstruct ma_state *mas”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M5hjubjT)�”}”(hhh]”hþ)�”}”(hŒMaple Tree operation state.”h]”hŒMaple Tree operation state.”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j h´M5hj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j h´M5hjubj>)�”}”(hŒ7``unsigned long index`` New index into the Maple Tree. ”h]”(jD)�”}”(hŒ``unsigned long index``”h]”j~)�”}”(hjDh]”hŒunsigned long index”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjBubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M6hj>ubjT)�”}”(hhh]”hþ)�”}”(hŒNew index into the Maple Tree.”h]”hŒNew index into the Maple Tree.”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jYh´M6hjZubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jYh´M6hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjæubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjh]”hŒ Description”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M8hjæubhþ)�”}”(hŒ Move the operation state to refer to a different index. This will have the effect of starting a walk from the top; see mas_next() to move to an adjacent index.”h]”hŒ Move the operation state to refer to a different index. This will have the effect of starting a walk from the top; see mas_next() to move to an adjacent index.”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M7hjæubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmt_init_flags (C function)”Œc.mt_init_flags”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ>void mt_init_flags (struct maple_tree *mt, unsigned int flags)”h]”j )�”}”(hŒ=void mt_init_flags(struct maple_tree *mt, unsigned int flags)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjÀh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MHubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÀh²hh³jÒh´MHubj )�”}”(hŒ mt_init_flags”h]”j )�”}”(hŒ mt_init_flags”h]”hŒ mt_init_flags”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjáubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjÀh²hh³jÒh´MHubjà )�”}”(hŒ+(struct maple_tree *mt, unsigned int flags)”h]”(jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjýubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjýubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j!Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jçsbŒc.mt_init_flags”†”asbuh1hhjýubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjýubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjýubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjýubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjùubjæ )�”}”(hŒunsigned int flags”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjoubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjoubj¥ )�”}”(hŒint”h]”hŒint”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjoubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjoubj )�”}”(hŒflags”h]”hŒflags”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjoubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjùubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjÀh²hh³jÒh´MHubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj¼h²hh³jÒh´MHubah}”(h]”j·ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jÒh´MHhj¹h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ*Initialise an empty maple tree with flags.”h]”hŒ*Initialise an empty maple tree with flags.”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MHhjÒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj¹h²hh³jÒh´MHubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jíj] jíj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒö**Parameters** ``struct maple_tree *mt`` Maple Tree ``unsigned int flags`` maple tree flags. **Description** If you need to initialise a Maple Tree with special flags (eg, an allocation tree), use this function. **Context** Any context.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj÷h]”hŒ Parameters”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjõubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MLhjñubj9)�”}”(hhh]”(j>)�”}”(hŒ%``struct maple_tree *mt`` Maple Tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hjh]”hŒstruct maple_tree *mt”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MIhjubjT)�”}”(hhh]”hþ)�”}”(hŒ Maple Tree”h]”hŒ Maple Tree”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j+h´MIhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j+h´MIhj ubj>)�”}”(hŒ)``unsigned int flags`` maple tree flags. ”h]”(jD)�”}”(hŒ``unsigned int flags``”h]”j~)�”}”(hjOh]”hŒunsigned int flags”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MJhjIubjT)�”}”(hhh]”hþ)�”}”(hŒmaple tree flags.”h]”hŒmaple tree flags.”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jdh´MJhjeubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jdh´MJhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjñubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjŠh]”hŒ Description”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MLhjñubhþ)�”}”(hŒfIf you need to initialise a Maple Tree with special flags (eg, an allocation tree), use this function.”h]”hŒfIf you need to initialise a Maple Tree with special flags (eg, an allocation tree), use this function.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MKhjñubhþ)�”}”(hŒ **Context**”h]”j)�”}”(hj±h]”hŒContext”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MNhjñubhþ)�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MOhjñubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmt_init (C function)”Œ c.mt_init”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ$void mt_init (struct maple_tree *mt)”h]”j )�”}”(hŒ#void mt_init(struct maple_tree *mt)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjòh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MZubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjòh²hh³jh´MZubj )�”}”(hŒmt_init”h]”j )�”}”(hŒmt_init”h]”hŒmt_init”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjòh²hh³jh´MZubjà )�”}”(hŒ(struct maple_tree *mt)”h]”jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj/ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj/ubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjNubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jSŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jsbŒ c.mt_init”†”asbuh1hhj/ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj/ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj/ubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj+ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjòh²hh³jh´MZubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjîh²hh³jh´MZubah}”(h]”jéah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jh´MZhjëh²hubjI )�”}”(hhh]”hþ)�”}”(hŒInitialise an empty maple tree.”h]”hŒInitialise an empty maple tree.”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MZhj³h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjëh²hh³jh´MZubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jÎj] jÎj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒx**Parameters** ``struct maple_tree *mt`` Maple Tree **Description** An empty Maple Tree. **Context** Any context.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjØh]”hŒ Parameters”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M^hjÒubj9)�”}”(hhh]”j>)�”}”(hŒ%``struct maple_tree *mt`` Maple Tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hj÷h]”hŒstruct maple_tree *mt”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjõubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M[hjñubjT)�”}”(hhh]”hþ)�”}”(hŒ Maple Tree”h]”hŒ Maple Tree”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j h´M[hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjñubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j h´M[hjîubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hjÒubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hj2h]”hŒ Description”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M]hjÒubhþ)�”}”(hŒAn empty Maple Tree.”h]”hŒAn empty Maple Tree.”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M\hjÒubhþ)�”}”(hŒ **Context**”h]”j)�”}”(hjYh]”hŒContext”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjWubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M^hjÒubhþ)�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M_hjÒubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmt_clear_in_rcu (C function)”Œc.mt_clear_in_rcu”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ,void mt_clear_in_rcu (struct maple_tree *mt)”h]”j )�”}”(hŒ+void mt_clear_in_rcu(struct maple_tree *mt)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjšh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mlubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjšh²hh³j¬h´Mlubj )�”}”(hŒmt_clear_in_rcu”h]”j )�”}”(hŒmt_clear_in_rcu”h]”hŒmt_clear_in_rcu”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj»ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjšh²hh³j¬h´Mlubjà )�”}”(hŒ(struct maple_tree *mt)”h]”jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj×ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj×ubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjöubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jûŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jÁsbŒc.mt_clear_in_rcu”†”asbuh1hhj×ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj×ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj×ubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj×ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjÓubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjšh²hh³j¬h´Mlubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj–h²hh³j¬h´Mlubah}”(h]”j‘ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j¬h´Mlhj“h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ Switch the tree to non-RCU mode.”h]”hŒ Switch the tree to non-RCU mode.”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mlhj[h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj“h²hh³j¬h´Mlubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jvj] jvj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒ:**Parameters** ``struct maple_tree *mt`` The Maple Tree”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj€h]”hŒ Parameters”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mphjzubj9)�”}”(hhh]”j>)�”}”(hŒ(``struct maple_tree *mt`` The Maple Tree”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hjŸh]”hŒstruct maple_tree *mt”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mrhj™ubjT)�”}”(hhh]”hþ)�”}”(hŒThe Maple Tree”h]”hŒThe Maple Tree”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mmhjµubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j´h´Mrhj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hjzubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmt_set_in_rcu (C function)”Œc.mt_set_in_rcu”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ*void mt_set_in_rcu (struct maple_tree *mt)”h]”j )�”}”(hŒ)void mt_set_in_rcu(struct maple_tree *mt)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjõh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjõh²hh³jh´Mubj )�”}”(hŒ mt_set_in_rcu”h]”j )�”}”(hŒ mt_set_in_rcu”h]”hŒ mt_set_in_rcu”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjõh²hh³jh´Mubjà )�”}”(hŒ(struct maple_tree *mt)”h]”jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj2ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj2ubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjQubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jVŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jsbŒc.mt_set_in_rcu”†”asbuh1hhj2ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj2ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj2ubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj.ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjõh²hh³jh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjñh²hh³jh´Mubah}”(h]”jìah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jh´Mhjîh²hubjI )�”}”(hhh]”hþ)�”}”(hŒ!Switch the tree to RCU safe mode.”h]”hŒ!Switch the tree to RCU safe mode.”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´Mhj¶h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjîh²hh³jh´Mubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jÑj] jÑj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒ:**Parameters** ``struct maple_tree *mt`` The Maple Tree”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjÛh]”hŒ Parameters”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MƒhjÕubj9)�”}”(hhh]”j>)�”}”(hŒ(``struct maple_tree *mt`` The Maple Tree”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hjúh]”hŒstruct maple_tree *mt”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjøubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M…hjôubjT)�”}”(hhh]”hþ)�”}”(hŒThe Maple Tree”h]”hŒThe Maple Tree”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M€hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjôubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j h´M…hjñubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hjÕubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmt_for_each (C macro)”Œ c.mt_for_each”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ mt_for_each”h]”j )�”}”(hŒ mt_for_each”h]”j )�”}”(hŒ mt_for_each”h]”j )�”}”(hjN h]”hŒ mt_for_each”…”�”}”(hjX h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjT ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjP h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M�ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjL h²hh³jk h´M�ubah}”(h]”jG ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jk h´M�hjI h²hubjI )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jH hjI h²hh³jk h´M�ubeh}”(h]”h ]”(jV Œmacro”eh"]”h$]”h&]”j[ jV j\ j„ j] j„ j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubhþ)�”}”(hŒ1``mt_for_each (__tree, __entry, __index, __max)``”h]”j~)�”}”(hjŠ h]”hŒ-mt_for_each (__tree, __entry, __index, __max)”…”�”}”(hjŒ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjˆ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MŸhjáh²hubjz )�”}”(hŒ5Iterate over each entry starting at index until max. ”h]”hþ)�”}”(hŒ4Iterate over each entry starting at index until max.”h]”hŒ4Iterate over each entry starting at index until max.”…”�”}”(hj¤ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M�hj  ubah}”(h]”h ]”h"]”h$]”h&]”uh1jy h³j² h´M�hjáh²hubj• )�”}”(hXX**Parameters** ``__tree`` The Maple Tree ``__entry`` The current entry ``__index`` The index to start the search from. Subsequently used as iterator. ``__max`` The maximum limit for **index** **Description** This iterator skips all entries, which resolve to a NULL pointer, e.g. entries which has been reserved with XA_ZERO_ENTRY.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj¿ h]”hŒ Parameters”…”�”}”(hjÁ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj½ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M¡hj¹ ubj9)�”}”(hhh]”(j>)�”}”(hŒ``__tree`` The Maple Tree ”h]”(jD)�”}”(hŒ ``__tree``”h]”j~)�”}”(hjÞ h]”hŒ__tree”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÜ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MžhjØ ubjT)�”}”(hhh]”hþ)�”}”(hŒThe Maple Tree”h]”hŒThe Maple Tree”…”�”}”(hj÷ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jó h´Mžhjô ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjØ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jó h´MžhjÕ ubj>)�”}”(hŒ``__entry`` The current entry ”h]”(jD)�”}”(hŒ ``__entry``”h]”j~)�”}”(hj!h]”hŒ__entry”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´MŸhj!ubjT)�”}”(hhh]”hþ)�”}”(hŒThe current entry”h]”hŒThe current entry”…”�”}”(hj0!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j,!h´MŸhj-!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j,!h´MŸhjÕ ubj>)�”}”(hŒO``__index`` The index to start the search from. Subsequently used as iterator. ”h]”(jD)�”}”(hŒ ``__index``”h]”j~)�”}”(hjP!h]”hŒ__index”…”�”}”(hjR!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjN!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M hjJ!ubjT)�”}”(hhh]”hþ)�”}”(hŒBThe index to start the search from. Subsequently used as iterator.”h]”hŒBThe index to start the search from. Subsequently used as iterator.”…”�”}”(hji!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³je!h´M hjf!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjJ!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³je!h´M hjÕ ubj>)�”}”(hŒ*``__max`` The maximum limit for **index** ”h]”(jD)�”}”(hŒ ``__max``”h]”j~)�”}”(hj‰!h]”hŒ__max”…”�”}”(hj‹!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj‡!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M¡hjƒ!ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maximum limit for **index**”h]”(hŒThe maximum limit for ”…”�”}”(hj¢!h²hh³Nh´Nubj)�”}”(hŒ **index**”h]”hŒindex”…”�”}”(hjª!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¢!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jž!h´M¡hjŸ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjƒ!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jž!h´M¡hjÕ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj¹ ubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjÒ!h]”hŒ Description”…”�”}”(hjÔ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÐ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M£hj¹ ubhþ)�”}”(hŒzThis iterator skips all entries, which resolve to a NULL pointer, e.g. entries which has been reserved with XA_ZERO_ENTRY.”h]”hŒzThis iterator skips all entries, which resolve to a NULL pointer, e.g. entries which has been reserved with XA_ZERO_ENTRY.”…”�”}”(hjè!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³Œ_/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:236: ./include/linux/maple_tree.h”h´M¢hj¹ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_prealloc_calc (C function)”Œc.mas_prealloc_calc”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ@void mas_prealloc_calc (struct ma_wr_state *wr_mas, void *entry)”h]”j )�”}”(hŒ?void mas_prealloc_calc(struct ma_wr_state *wr_mas, void *entry)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj"h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MXubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&"h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj"h²hh³j%"h´MXubj )�”}”(hŒmas_prealloc_calc”h]”j )�”}”(hŒmas_prealloc_calc”h]”hŒmas_prealloc_calc”…”�”}”(hj8"h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj4"ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj"h²hh³j%"h´MXubjà )�”}”(hŒ)(struct ma_wr_state *wr_mas, void *entry)”h]”(jæ )�”}”(hŒstruct ma_wr_state *wr_mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjT"h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjP"ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hja"h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjP"ubh)�”}”(hhh]”j )�”}”(hŒ ma_wr_state”h]”hŒ ma_wr_state”…”�”}”(hjr"h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjo"ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jt"Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j:"sbŒc.mas_prealloc_calc”†”asbuh1hhjP"ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’"h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjP"ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj "h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjP"ubj )�”}”(hŒwr_mas”h]”hŒwr_mas”…”�”}”(hj­"h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjP"ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjL"ubjæ )�”}”(hŒ void *entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÆ"h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjÂ"ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔ"h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÂ"ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjâ"h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjÂ"ubj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hjï"h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÂ"ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjL"ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj"h²hh³j%"h´MXubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj"h²hh³j%"h´MXubah}”(h]”j "ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j%"h´MXhj "h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ)�”}”(hŒ5``struct ma_wr_state *wr_mas`` The maple write state ”h]”(jD)�”}”(hŒ``struct ma_wr_state *wr_mas``”h]”j~)�”}”(hjZ#h]”hŒstruct ma_wr_state *wr_mas”…”�”}”(hj\#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjX#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MZhjT#ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple write state”h]”hŒThe maple write state”…”�”}”(hjs#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jo#h´MZhjp#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjT#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jo#h´MZhjQ#ubj>)�”}”(hŒ1``void *entry`` The entry to store into the tree ”h]”(jD)�”}”(hŒ``void *entry``”h]”j~)�”}”(hj“#h]”hŒ void *entry”…”�”}”(hj•#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj‘#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M[hj�#ubjT)�”}”(hhh]”hþ)�”}”(hŒ The entry to store into the tree”h]”hŒ The entry to store into the tree”…”�”}”(hj¬#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j¨#h´M[hj©#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj�#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j¨#h´M[hjQ#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj5#ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjÎ#h]”hŒReturn”…”�”}”(hjÐ#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÌ#ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M]hj5#ubhþ)�”}”(hŒ+Number of nodes required for preallocation.”h]”hŒ+Number of nodes required for preallocation.”…”�”}”(hjä#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M]hj5#ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_wr_preallocate (C function)”Œc.mas_wr_preallocate”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒAvoid mas_wr_preallocate (struct ma_wr_state *wr_mas, void *entry)”h]”j )�”}”(hŒ@void mas_wr_preallocate(struct ma_wr_state *wr_mas, void *entry)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj$h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÏubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj"$h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj$h²hh³j!$h´MÏubj )�”}”(hŒmas_wr_preallocate”h]”j )�”}”(hŒmas_wr_preallocate”h]”hŒmas_wr_preallocate”…”�”}”(hj4$h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj0$ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj$h²hh³j!$h´MÏubjà )�”}”(hŒ)(struct ma_wr_state *wr_mas, void *entry)”h]”(jæ )�”}”(hŒstruct ma_wr_state *wr_mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjP$h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjL$ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]$h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjL$ubh)�”}”(hhh]”j )�”}”(hŒ ma_wr_state”h]”hŒ ma_wr_state”…”�”}”(hjn$h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjk$ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jp$Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j6$sbŒc.mas_wr_preallocate”†”asbuh1hhjL$ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽ$h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjL$ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjœ$h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjL$ubj )�”}”(hŒwr_mas”h]”hŒwr_mas”…”�”}”(hj©$h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjL$ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjH$ubjæ )�”}”(hŒ void *entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÂ$h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj¾$ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐ$h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj¾$ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjÞ$h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj¾$ubj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hjë$h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj¾$ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjH$ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj$h²hh³j!$h´MÏubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj $h²hh³j!$h´MÏubah}”(h]”j$ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j!$h´MÏhj$h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ.Preallocate enough nodes for a store operation”h]”hŒ.Preallocate enough nodes for a store operation”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÏhj%h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj$h²hh³j!$h´MÏubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j-%j] j-%j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒw**Parameters** ``struct ma_wr_state *wr_mas`` The maple write state ``void *entry`` The entry that will be stored”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj7%h]”hŒ Parameters”…”�”}”(hj9%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5%ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÓhj1%ubj9)�”}”(hhh]”(j>)�”}”(hŒ5``struct ma_wr_state *wr_mas`` The maple write state ”h]”(jD)�”}”(hŒ``struct ma_wr_state *wr_mas``”h]”j~)�”}”(hjV%h]”hŒstruct ma_wr_state *wr_mas”…”�”}”(hjX%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjT%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÐhjP%ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple write state”h]”hŒThe maple write state”…”�”}”(hjo%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jk%h´MÐhjl%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjP%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jk%h´MÐhjM%ubj>)�”}”(hŒ-``void *entry`` The entry that will be stored”h]”(jD)�”}”(hŒ``void *entry``”h]”j~)�”}”(hj�%h]”hŒ void *entry”…”�”}”(hj‘%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj�%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÒhj‰%ubjT)�”}”(hhh]”hþ)�”}”(hŒThe entry that will be stored”h]”hŒThe entry that will be stored”…”�”}”(hj¨%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÑhj¥%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj‰%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j¤%h´MÒhjM%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj1%ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_insert (C function)”Œ c.mas_insert”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ5void * mas_insert (struct ma_state *mas, void *entry)”h]”j )�”}”(hŒ3void *mas_insert(struct ma_state *mas, void *entry)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjé%h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjå%h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mâubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjø%h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjå%h²hh³j÷%h´Mâubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjå%h²hh³j÷%h´Mâubj )�”}”(hŒ mas_insert”h]”j )�”}”(hŒ mas_insert”h]”hŒ mas_insert”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj&ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjå%h²hh³j÷%h´Mâubjà )�”}”(hŒ#(struct ma_state *mas, void *entry)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj3&h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj/&ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@&h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj/&ubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hjQ&h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjN&ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jS&Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j&sbŒ c.mas_insert”†”asbuh1hhj/&ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq&h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj/&ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj/&ubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjŒ&h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj/&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj+&ubjæ )�”}”(hŒ void *entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¥&h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj¡&ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³&h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj¡&ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjÁ&h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj¡&ubj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hjÎ&h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj¡&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj+&ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjå%h²hh³j÷%h´Mâubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjá%h²hh³j÷%h´Mâubah}”(h]”jÜ%ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j÷%h´MâhjÞ%h²hubjI )�”}”(hhh]”hþ)�”}”(hŒInternal call to insert a value”h]”hŒInternal call to insert a value”…”�”}”(hjø&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mâhjõ&h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjÞ%h²hh³j÷%h´Mâubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j'j] j'j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒ÷**Parameters** ``struct ma_state *mas`` The maple state ``void *entry`` The entry to store **Return** ``NULL`` or the contents that already exists at the requested index otherwise. The maple state needs to be checked for error conditions.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj'h]”hŒ Parameters”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mæhj'ubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hj9'h]”hŒstruct ma_state *mas”…”�”}”(hj;'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj7'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mãhj3'ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hjR'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jN'h´MãhjO'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj3'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jN'h´Mãhj0'ubj>)�”}”(hŒ#``void *entry`` The entry to store ”h]”(jD)�”}”(hŒ``void *entry``”h]”j~)�”}”(hjr'h]”hŒ void *entry”…”�”}”(hjt'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjp'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mähjl'ubjT)�”}”(hhh]”hþ)�”}”(hŒThe entry to store”h]”hŒThe entry to store”…”�”}”(hj‹'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j‡'h´Mähjˆ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjl'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j‡'h´Mähj0'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj'ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj­'h]”hŒReturn”…”�”}”(hj¯'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj«'ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mæhj'ubhþ)�”}”(hŒ‰``NULL`` or the contents that already exists at the requested index otherwise. The maple state needs to be checked for error conditions.”•;h]”(j~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjÇ'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÃ'ubhŒ� or the contents that already exists at the requested index otherwise. The maple state needs to be checked for error conditions.”…”�”}”(hjÃ'h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mæhj'ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_alloc_cyclic (C function)”Œc.mas_alloc_cyclic”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒŸint mas_alloc_cyclic (struct ma_state *mas, unsigned long *startp, void *entry, unsigned long range_lo, unsigned long range_hi, unsigned long *next, gfp_t gfp)”h]”j )�”}”(hŒžint mas_alloc_cyclic(struct ma_state *mas, unsigned long *startp, void *entry, unsigned long range_lo, unsigned long range_hi, unsigned long *next, gfp_t gfp)”h]”(j¥ )�”}”(hŒint”h]”hŒint”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjü'h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjü'h²hh³j(h´Mubj )�”}”(hŒmas_alloc_cyclic”h]”j )�”}”(hŒmas_alloc_cyclic”h]”hŒmas_alloc_cyclic”…”�”}”(hj!(h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj(ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjü'h²hh³j(h´Mubjà )�”}”(hŒŠ(struct ma_state *mas, unsigned long *startp, void *entry, unsigned long range_lo, unsigned long range_hi, unsigned long *next, gfp_t gfp)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj=(h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj9(ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJ(h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj9(ubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj[(h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjX(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j](Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j#(sbŒc.mas_alloc_cyclic”†”asbuh1hhj9(ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{(h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj9(ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj‰(h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj9(ubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hj–(h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj9(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj5(ubjæ )�”}”(hŒunsigned long *startp”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj¯(h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj«(ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½(h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj«(ubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjË(h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj«(ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙ(h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj«(ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjç(h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj«(ubj )�”}”(hŒstartp”h]”hŒstartp”…”�”}”(hjô(h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj«(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj5(ubjæ )�”}”(hŒ void *entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj )h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj )ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj )ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj))h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj )ubj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hj6)h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj )ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj5(ubjæ )�”}”(hŒunsigned long range_lo”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjO)h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjK)ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj])h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjK)ubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjk)h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjK)ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjy)h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjK)ubj )�”}”(hŒrange_lo”h]”hŒrange_lo”…”�”}”(hj‡)h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjK)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj5(ubjæ )�”}”(hŒunsigned long range_hi”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj )h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjœ)ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®)h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjœ)ubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj¼)h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjœ)ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊ)h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjœ)ubj )�”}”(hŒrange_hi”h]”hŒrange_hi”…”�”}”(hjØ)h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjœ)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj5(ubjæ )�”}”(hŒunsigned long *next”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjñ)h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjí)ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿ)h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjí)ubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj *h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjí)ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjí)ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj)*h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjí)ubj )�”}”(hŒnext”h]”hŒnext”…”�”}”(hj6*h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjí)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj5(ubjæ )�”}”(hŒ gfp_t gfp”h]”(h)�”}”(hhh]”j )�”}”(hŒgfp_t”h]”hŒgfp_t”…”�”}”(hjR*h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjO*ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jT*Œmodname”NŒ classname”NjC jF )�”}”jI ]”jw(Œc.mas_alloc_cyclic”†”asbuh1hhjK*ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjp*h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjK*ubj )�”}”(hŒgfp”h]”hŒgfp”…”�”}”(hj~*h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjK*ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj5(ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjü'h²hh³j(h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjø'h²hh³j(h´Mubah}”(h]”jó'ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j(h´Mhjõ'h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ1Internal call to find somewhere to store an entry”h]”hŒ1Internal call to find somewhere to store an entry”…”�”}”(hj¨*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhj¥*h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjõ'h²hh³j(h´Mubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jÀ*j] jÀ*j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX**Parameters** ``struct ma_state *mas`` The maple state. ``unsigned long *startp`` Pointer to ID. ``void *entry`` The entry to store. ``unsigned long range_lo`` Lower bound of range to search. ``unsigned long range_hi`` Upper bound of range to search. ``unsigned long *next`` Pointer to next ID to allocate. ``gfp_t gfp`` The GFP_FLAGS to use for allocations. **Return** 0 if the allocation succeeded without wrapping, 1 if the allocation succeeded after wrapping, or -EBUSY if there are no free entries.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjÊ*h]”hŒ Parameters”…”�”}”(hjÌ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÈ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhjÄ*ubj9)�”}”(hhh]”(j>)�”}”(hŒ*``struct ma_state *mas`` The maple state. ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hjé*h]”hŒstruct ma_state *mas”…”�”}”(hjë*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjç*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhjã*ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state.”h]”hŒThe maple state.”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jþ*h´Mhjÿ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjã*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jþ*h´Mhjà*ubj>)�”}”(hŒ)``unsigned long *startp`` Pointer to ID. ”h]”(jD)�”}”(hŒ``unsigned long *startp``”h]”j~)�”}”(hj"+h]”hŒunsigned long *startp”…”�”}”(hj$+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj +ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhj+ubjT)�”}”(hhh]”hþ)�”}”(hŒPointer to ID.”h]”hŒPointer to ID.”…”�”}”(hj;+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j7+h´Mhj8+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j7+h´Mhjà*ubj>)�”}”(hŒ$``void *entry`` The entry to store. ”h]”(jD)�”}”(hŒ``void *entry``”h]”j~)�”}”(hj[+h]”hŒ void *entry”…”�”}”(hj]+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjY+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhjU+ubjT)�”}”(hhh]”hþ)�”}”(hŒThe entry to store.”h]”hŒThe entry to store.”…”�”}”(hjt+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jp+h´Mhjq+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjU+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jp+h´Mhjà*ubj>)�”}”(hŒ;``unsigned long range_lo`` Lower bound of range to search. ”h]”(jD)�”}”(hŒ``unsigned long range_lo``”h]”j~)�”}”(hj”+h]”hŒunsigned long range_lo”…”�”}”(hj–+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj’+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhjŽ+ubjT)�”}”(hhh]”hþ)�”}”(hŒLower bound of range to search.”h]”hŒLower bound of range to search.”…”�”}”(hj­+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j©+h´Mhjª+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjŽ+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j©+h´Mhjà*ubj>)�”}”(hŒ;``unsigned long range_hi`` Upper bound of range to search. ”h]”(jD)�”}”(hŒ``unsigned long range_hi``”h]”j~)�”}”(hjÍ+h]”hŒunsigned long range_hi”…”�”}”(hjÏ+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjË+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhjÇ+ubjT)�”}”(hhh]”hþ)�”}”(hŒUpper bound of range to search.”h]”hŒUpper bound of range to search.”…”�”}”(hjæ+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jâ+h´Mhjã+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÇ+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jâ+h´Mhjà*ubj>)�”}”(hŒ8``unsigned long *next`` Pointer to next ID to allocate. ”h]”(jD)�”}”(hŒ``unsigned long *next``”h]”j~)�”}”(hj,h]”hŒunsigned long *next”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M hj,ubjT)�”}”(hhh]”hþ)�”}”(hŒPointer to next ID to allocate.”h]”hŒPointer to next ID to allocate.”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j,h´M hj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j,h´M hjà*ubj>)�”}”(hŒ4``gfp_t gfp`` The GFP_FLAGS to use for allocations. ”h]”(jD)�”}”(hŒ ``gfp_t gfp``”h]”j~)�”}”(hj?,h]”hŒ gfp_t gfp”…”�”}”(hjA,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj=,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M!hj9,ubjT)�”}”(hhh]”hþ)�”}”(hŒ%The GFP_FLAGS to use for allocations.”h]”hŒ%The GFP_FLAGS to use for allocations.”…”�”}”(hjX,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jT,h´M!hjU,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj9,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jT,h´M!hjà*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjÄ*ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjz,h]”hŒReturn”…”�”}”(hj|,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjx,ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M#hjÄ*ubhþ)�”}”(hŒ…0 if the allocation succeeded without wrapping, 1 if the allocation succeeded after wrapping, or -EBUSY if there are no free entries.”h]”hŒ…0 if the allocation succeeded without wrapping, 1 if the allocation succeeded after wrapping, or -EBUSY if there are no free entries.”…”�”}”(hj�,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M#hjÄ*ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_walk (C function)”Œ c.mas_walk”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ&void * mas_walk (struct ma_state *mas)”h]”j )�”}”(hŒ$void *mas_walk(struct ma_state *mas)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¿,h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj»,h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M[ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎ,h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj»,h²hh³jÍ,h´M[ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjÜ,h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj»,h²hh³jÍ,h´M[ubj )�”}”(hŒmas_walk”h]”j )�”}”(hŒmas_walk”h]”hŒmas_walk”…”�”}”(hjí,h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjé,ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj»,h²hh³jÍ,h´M[ubjà )�”}”(hŒ(struct ma_state *mas)”h]”jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj -h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj-ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj-ubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj'-h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj$-ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j)-Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jï,sbŒ c.mas_walk”†”asbuh1hhj-ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjG-h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj-ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjU-h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj-ubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjb-h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj-ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj-ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj»,h²hh³jÍ,h´M[ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj·,h²hh³jÍ,h´M[ubah}”(h]”j²,ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jÍ,h´M[hj´,h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ&Search for **mas->index** in the tree.”h]”(hŒ Search for ”…”�”}”(hjŒ-h²hh³Nh´Nubj)�”}”(hŒ**mas->index**”h]”hŒ mas->index”…”�”}”(hj”-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŒ-ubhŒ in the tree.”…”�”}”(hjŒ-h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M[hj‰-h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj´,h²hh³jÍ,h´M[ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j¶-j] j¶-j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒö**Parameters** ``struct ma_state *mas`` The maple state. **Description** mas->index and mas->last will be set to the range if there is a value. If mas->status is ma_none, reset to ma_start **Return** the entry at the location or ``NULL``.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjÀ-h]”hŒ Parameters”…”�”}”(hjÂ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¾-ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M_hjº-ubj9)�”}”(hhh]”j>)�”}”(hŒ*``struct ma_state *mas`` The maple state. ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hjß-h]”hŒstruct ma_state *mas”…”�”}”(hjá-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÝ-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M\hjÙ-ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state.”h]”hŒThe maple state.”…”�”}”(hjø-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jô-h´M\hjõ-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÙ-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jô-h´M\hjÖ-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hjº-ubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hj.h]”hŒ Description”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M^hjº-ubhþ)�”}”(hŒtmas->index and mas->last will be set to the range if there is a value. If mas->status is ma_none, reset to ma_start”h]”hŒtmas->index and mas->last will be set to the range if there is a value. If mas->status is ma_none, reset to ma_start”…”�”}”(hj0.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M]hjº-ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjA.h]”hŒReturn”…”�”}”(hjC.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj?.ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M`hjº-ubhþ)�”}”(hŒ&the entry at the location or ``NULL``.”h]”(hŒthe entry at the location or ”…”�”}”(hjW.h²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj_.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjW.ubhŒ.”…”�”}”(hjW.h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mahjº-ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmte_dead_walk (C function)”Œc.mte_dead_walk”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒNvoid __rcu ** mte_dead_walk (struct maple_enode **enode, unsigned char offset)”h]”j )�”}”(hŒLvoid __rcu **mte_dead_walk(struct maple_enode **enode, unsigned char offset)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj˜.h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj”.h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M€ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§.h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj”.h²hh³j¦.h´M€ubhŒ__rcu”…”�”}”(hj”.h²hh³Nh´Nubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹.h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj”.h²hh³j¦.h´M€ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjÇ.h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj”.h²hh³j¦.h´M€ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjÔ.h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj”.h²hh³j¦.h´M€ubj )�”}”(hŒ mte_dead_walk”h]”j )�”}”(hŒ mte_dead_walk”h]”hŒ mte_dead_walk”…”�”}”(hjå.h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjá.ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj”.h²hh³j¦.h´M€ubjà )�”}”(hŒ2(struct maple_enode **enode, unsigned char offset)”h]”(jæ )�”}”(hŒstruct maple_enode **enode”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjý.ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjý.ubh)�”}”(hhh]”j )�”}”(hŒ maple_enode”h]”hŒ maple_enode”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj/ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j!/Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jç.sbŒc.mte_dead_walk”†”asbuh1hhjý.ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?/h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjý.ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjM/h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjý.ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjZ/h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjý.ubj )�”}”(hŒenode”h]”hŒenode”…”�”}”(hjg/h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjý.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjù.ubjæ )�”}”(hŒunsigned char offset”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj€/h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj|/ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽ/h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj|/ubj¥ )�”}”(hŒchar”h]”hŒchar”…”�”}”(hjœ/h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj|/ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjª/h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj|/ubj )�”}”(hŒoffset”h]”hŒoffset”…”�”}”(hj¸/h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj|/ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjù.ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj”.h²hh³j¦.h´M€ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj�.h²hh³j¦.h´M€ubah}”(h]”j‹.ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j¦.h´M€hj�.h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ/Walk down a dead tree to just before the leaves”h]”hŒ/Walk down a dead tree to just before the leaves”…”�”}”(hjâ/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M€hjß/h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj�.h²hh³j¦.h´M€ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jú/j] jú/j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒ·**Parameters** ``struct maple_enode **enode`` The maple encoded node ``unsigned char offset`` The starting offset **Note** This can only be used from the RCU callback context.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj0h]”hŒ Parameters”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M„hjþ/ubj9)�”}”(hhh]”(j>)�”}”(hŒ6``struct maple_enode **enode`` The maple encoded node ”h]”(jD)�”}”(hŒ``struct maple_enode **enode``”h]”j~)�”}”(hj#0h]”hŒstruct maple_enode **enode”…”�”}”(hj%0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj!0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M�hj0ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple encoded node”h]”hŒThe maple encoded node”…”�”}”(hj<0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j80h´M�hj90ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j80h´M�hj0ubj>)�”}”(hŒ-``unsigned char offset`` The starting offset ”h]”(jD)�”}”(hŒ``unsigned char offset``”h]”j~)�”}”(hj\0h]”hŒunsigned char offset”…”�”}”(hj^0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjZ0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M‚hjV0ubjT)�”}”(hhh]”hþ)�”}”(hŒThe starting offset”h]”hŒThe starting offset”…”�”}”(hju0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jq0h´M‚hjr0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjV0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jq0h´M‚hj0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjþ/ubhþ)�”}”(hŒ**Note**”h]”j)�”}”(hj—0h]”hŒNote”…”�”}”(hj™0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj•0ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M„hjþ/ubhþ)�”}”(hŒ4This can only be used from the RCU callback context.”h]”hŒ4This can only be used from the RCU callback context.”…”�”}”(hj­0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M„hjþ/ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmt_free_walk (C function)”Œc.mt_free_walk”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ)void mt_free_walk (struct rcu_head *head)”h]”j )�”}”(hŒ(void mt_free_walk(struct rcu_head *head)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÜ0h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjØ0h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M™ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjë0h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjØ0h²hh³jê0h´M™ubj )�”}”(hŒ mt_free_walk”h]”j )�”}”(hŒ mt_free_walk”h]”hŒ mt_free_walk”…”�”}”(hjý0h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjù0ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjØ0h²hh³jê0h´M™ubjà )�”}”(hŒ(struct rcu_head *head)”h]”jæ )�”}”(hŒstruct rcu_head *head”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj1ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&1h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj1ubh)�”}”(hhh]”j )�”}”(hŒrcu_head”h]”hŒrcu_head”…”�”}”(hj71h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj41ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j91Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jÿ0sbŒc.mt_free_walk”†”asbuh1hhj1ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjW1h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj1ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hje1h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj1ubj )�”}”(hŒhead”h]”hŒhead”…”�”}”(hjr1h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj1ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjØ0h²hh³jê0h´M™ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjÔ0h²hh³jê0h´M™ubah}”(h]”jÏ0ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jê0h´M™hjÑ0h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ.Walk & free a tree in the RCU callback context”h]”hŒ.Walk & free a tree in the RCU callback context”…”�”}”(hjœ1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M™hj™1h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjÑ0h²hh³jê0h´M™ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j´1j] j´1j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒ�**Parameters** ``struct rcu_head *head`` The RCU head that's within the node. **Note** This can only be used from the RCU callback context.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj¾1h]”hŒ Parameters”…”�”}”(hjÀ1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¼1ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M�hj¸1ubj9)�”}”(hhh]”j>)�”}”(hŒ?``struct rcu_head *head`` The RCU head that's within the node. ”h]”(jD)�”}”(hŒ``struct rcu_head *head``”h]”j~)�”}”(hjÝ1h]”hŒstruct rcu_head *head”…”�”}”(hjß1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÛ1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mšhj×1ubjT)�”}”(hhh]”hþ)�”}”(hŒ$The RCU head that's within the node.”h]”hŒ&The RCU head that’s within the node.”…”�”}”(hjö1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jò1h´Mšhjó1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj×1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jò1h´MšhjÔ1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hj¸1ubhþ)�”}”(hŒ**Note**”h]”j)�”}”(hj2h]”hŒNote”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mœhj¸1ubhþ)�”}”(hŒ4This can only be used from the RCU callback context.”h]”hŒ4This can only be used from the RCU callback context.”…”�”}”(hj.2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mœhj¸1ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_store (C function)”Œ c.mas_store”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ4void * mas_store (struct ma_state *mas, void *entry)”h]”j )�”}”(hŒ2void *mas_store(struct ma_state *mas, void *entry)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj]2h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjY2h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M2ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjl2h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjY2h²hh³jk2h´M2ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjz2h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjY2h²hh³jk2h´M2ubj )�”}”(hŒ mas_store”h]”j )�”}”(hŒ mas_store”h]”hŒ mas_store”…”�”}”(hj‹2h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj‡2ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjY2h²hh³jk2h´M2ubjà )�”}”(hŒ#(struct ma_state *mas, void *entry)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj§2h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj£2ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´2h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj£2ubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hjÅ2h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÂ2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jÇ2Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j�2sbŒ c.mas_store”†”asbuh1hhj£2ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjå2h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj£2ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjó2h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj£2ubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj£2ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjŸ2ubjæ )�”}”(hŒ void *entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj3ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'3h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj3ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj53h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj3ubj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hjB3h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjŸ2ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjY2h²hh³jk2h´M2ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjU2h²hh³jk2h´M2ubah}”(h]”jP2ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jk2h´M2hjR2h²hubjI )�”}”(hhh]”hþ)�”}”(hŒStore an **entry**.”h]”(hŒ Store an ”…”�”}”(hjl3h²hh³Nh´Nubj)�”}”(hŒ **entry**”h]”hŒentry”…”�”}”(hjt3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjl3ubhŒ.”…”�”}”(hjl3h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M2hji3h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjR2h²hh³jk2h´M2ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j–3j] j–3j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX**Parameters** ``struct ma_state *mas`` The maple state. ``void *entry`` The entry to store. **Description** The **mas->index** and **mas->last** is used to set the range for the **entry**. **Return** the first entry between mas->index and mas->last or ``NULL``.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj 3h]”hŒ Parameters”…”�”}”(hj¢3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjž3ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M6hjš3ubj9)�”}”(hhh]”(j>)�”}”(hŒ*``struct ma_state *mas`` The maple state. ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hj¿3h]”hŒstruct ma_state *mas”…”�”}”(hjÁ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj½3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M3hj¹3ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state.”h]”hŒThe maple state.”…”�”}”(hjØ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jÔ3h´M3hjÕ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¹3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jÔ3h´M3hj¶3ubj>)�”}”(hŒ$``void *entry`` The entry to store. ”h]”(jD)�”}”(hŒ``void *entry``”h]”j~)�”}”(hjø3h]”hŒ void *entry”…”�”}”(hjú3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjö3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M4hjò3ubjT)�”}”(hhh]”hþ)�”}”(hŒThe entry to store.”h]”hŒThe entry to store.”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j 4h´M4hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjò3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j 4h´M4hj¶3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjš3ubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hj34h]”hŒ Description”…”�”}”(hj54h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj14ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M6hjš3ubhþ)�”}”(hŒPThe **mas->index** and **mas->last** is used to set the range for the **entry**.”h]”(hŒThe ”…”�”}”(hjI4h²hh³Nh´Nubj)�”}”(hŒ**mas->index**”h]”hŒ mas->index”…”�”}”(hjQ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjI4ubhŒ and ”…”�”}”(hjI4h²hh³Nh´Nubj)�”}”(hŒ **mas->last**”h]”hŒ mas->last”…”�”}”(hjc4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjI4ubhŒ" is used to set the range for the ”…”�”}”(hjI4h²hh³Nh´Nubj)�”}”(hŒ **entry**”h]”hŒentry”…”�”}”(hju4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjI4ubhŒ.”…”�”}”(hjI4h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M5hjš3ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj�4h]”hŒReturn”…”�”}”(hj’4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŽ4ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M7hjš3ubhþ)�”}”(hŒ=the first entry between mas->index and mas->last or ``NULL``.”h]”(hŒ4the first entry between mas->index and mas->last or ”…”�”}”(hj¦4h²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj®4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj¦4ubhŒ.”…”�”}”(hj¦4h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M8hjš3ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_store_gfp (C function)”Œc.mas_store_gfp”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ@int mas_store_gfp (struct ma_state *mas, void *entry, gfp_t gfp)”h]”j )�”}”(hŒ?int mas_store_gfp(struct ma_state *mas, void *entry, gfp_t gfp)”h]”(j¥ )�”}”(hŒint”h]”hŒint”…”�”}”(hjç4h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjã4h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mjubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjö4h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjã4h²hh³jõ4h´Mjubj )�”}”(hŒ mas_store_gfp”h]”j )�”}”(hŒ mas_store_gfp”h]”hŒ mas_store_gfp”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj5ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjã4h²hh³jõ4h´Mjubjà )�”}”(hŒ.(struct ma_state *mas, void *entry, gfp_t gfp)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj$5h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj 5ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj15h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj 5ubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hjB5h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj?5ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jD5Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j 5sbŒc.mas_store_gfp”†”asbuh1hhj 5ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb5h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj 5ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjp5h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj 5ubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hj}5h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj 5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj5ubjæ )�”}”(hŒ void *entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj–5h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj’5ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤5h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj’5ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj²5h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj’5ubj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hj¿5h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj’5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj5ubjæ )�”}”(hŒ gfp_t gfp”h]”(h)�”}”(hhh]”j )�”}”(hŒgfp_t”h]”hŒgfp_t”…”�”}”(hjÛ5h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjØ5ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jÝ5Œmodname”NŒ classname”NjC jF )�”}”jI ]”j^5Œc.mas_store_gfp”†”asbuh1hhjÔ5ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjù5h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÔ5ubj )�”}”(hŒgfp”h]”hŒgfp”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÔ5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj5ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjã4h²hh³jõ4h´Mjubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjß4h²hh³jõ4h´Mjubah}”(h]”jÚ4ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jõ4h´MjhjÜ4h²hubjI )�”}”(hhh]”hþ)�”}”(hŒStore a value into the tree.”h]”hŒStore a value into the tree.”…”�”}”(hj16h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mjhj.6h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjÜ4h²hh³jõ4h´Mjubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jI6j] jI6j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX**Parameters** ``struct ma_state *mas`` The maple state ``void *entry`` The entry to store ``gfp_t gfp`` The GFP_FLAGS to use for allocations if necessary. **Return** 0 on success, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjS6h]”hŒ Parameters”…”�”}”(hjU6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjQ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MnhjM6ubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hjr6h]”hŒstruct ma_state *mas”…”�”}”(hjt6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjp6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mkhjl6ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hj‹6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j‡6h´Mkhjˆ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjl6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j‡6h´Mkhji6ubj>)�”}”(hŒ#``void *entry`` The entry to store ”h]”(jD)�”}”(hŒ``void *entry``”h]”j~)�”}”(hj«6h]”hŒ void *entry”…”�”}”(hj­6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj©6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mlhj¥6ubjT)�”}”(hhh]”hþ)�”}”(hŒThe entry to store”h]”hŒThe entry to store”…”�”}”(hjÄ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jÀ6h´MlhjÁ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¥6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jÀ6h´Mlhji6ubj>)�”}”(hŒA``gfp_t gfp`` The GFP_FLAGS to use for allocations if necessary. ”h]”(jD)�”}”(hŒ ``gfp_t gfp``”h]”j~)�”}”(hjä6h]”hŒ gfp_t gfp”…”�”}”(hjæ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjâ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MmhjÞ6ubjT)�”}”(hhh]”hþ)�”}”(hŒ2The GFP_FLAGS to use for allocations if necessary.”h]”hŒ2The GFP_FLAGS to use for allocations if necessary.”…”�”}”(hjý6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jù6h´Mmhjú6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÞ6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jù6h´Mmhji6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjM6ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj7h]”hŒReturn”…”�”}”(hj!7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MohjM6ubhþ)�”}”(hŒS0 on success, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”h]”hŒS0 on success, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”…”�”}”(hj57h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MohjM6ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_store_prealloc (C function)”Œc.mas_store_prealloc”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ;void mas_store_prealloc (struct ma_state *mas, void *entry)”h]”j )�”}”(hŒ:void mas_store_prealloc(struct ma_state *mas, void *entry)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjd7h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj`7h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M�ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs7h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj`7h²hh³jr7h´M�ubj )�”}”(hŒmas_store_prealloc”h]”j )�”}”(hŒmas_store_prealloc”h]”hŒmas_store_prealloc”…”�”}”(hj…7h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj�7ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj`7h²hh³jr7h´M�ubjà )�”}”(hŒ#(struct ma_state *mas, void *entry)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj¡7h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj�7ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®7h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj�7ubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj¿7h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj¼7ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jÁ7Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j‡7sbŒc.mas_store_prealloc”†”asbuh1hhj�7ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjß7h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj�7ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjí7h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj�7ubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjú7h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj�7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj™7ubjæ )�”}”(hŒ void *entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj8ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!8h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj8ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj/8h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj8ubj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hj<8h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj8ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj™7ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj`7h²hh³jr7h´M�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj\7h²hh³jr7h´M�ubah}”(h]”jW7ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jr7h´M�hjY7h²hubjI )�”}”(hhh]”hþ)�”}”(hŒIStore a value into the tree using memory preallocated in the maple state.”h]”hŒIStore a value into the tree using memory preallocated in the maple state.”…”�”}”(hjf8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M�hjc8h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjY7h²hh³jr7h´M�ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j~8j] j~8j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒa**Parameters** ``struct ma_state *mas`` The maple state ``void *entry`` The entry to store.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjˆ8h]”hŒ Parameters”…”�”}”(hjŠ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj†8ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M“hj‚8ubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hj§8h]”hŒstruct ma_state *mas”…”�”}”(hj©8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj¥8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M‘hj¡8ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hjÀ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j¼8h´M‘hj½8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¡8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j¼8h´M‘hjž8ubj>)�”}”(hŒ#``void *entry`` The entry to store.”h]”(jD)�”}”(hŒ``void *entry``”h]”j~)�”}”(hjà8h]”hŒ void *entry”…”�”}”(hjâ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÞ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M“hjÚ8ubjT)�”}”(hhh]”hþ)�”}”(hŒThe entry to store.”h]”hŒThe entry to store.”…”�”}”(hjù8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M’hjö8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÚ8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jõ8h´M“hjž8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj‚8ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_preallocate (C function)”Œc.mas_preallocate”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒBint mas_preallocate (struct ma_state *mas, void *entry, gfp_t gfp)”h]”j )�”}”(hŒAint mas_preallocate(struct ma_state *mas, void *entry, gfp_t gfp)”h]”(j¥ )�”}”(hŒint”h]”hŒint”…”�”}”(hj:9h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj69h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M®ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjI9h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj69h²hh³jH9h´M®ubj )�”}”(hŒmas_preallocate”h]”j )�”}”(hŒmas_preallocate”h]”hŒmas_preallocate”…”�”}”(hj[9h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjW9ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj69h²hh³jH9h´M®ubjà )�”}”(hŒ.(struct ma_state *mas, void *entry, gfp_t gfp)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjw9h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjs9ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„9h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjs9ubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj•9h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj’9ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j—9Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j]9sbŒc.mas_preallocate”†”asbuh1hhjs9ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµ9h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjs9ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjÃ9h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjs9ubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjÐ9h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjs9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjo9ubjæ )�”}”(hŒ void *entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjé9h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjå9ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷9h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjå9ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjå9ubj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjå9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjo9ubjæ )�”}”(hŒ gfp_t gfp”h]”(h)�”}”(hhh]”j )�”}”(hŒgfp_t”h]”hŒgfp_t”…”�”}”(hj.:h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj+:ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j0:Œmodname”NŒ classname”NjC jF )�”}”jI ]”j±9Œc.mas_preallocate”†”asbuh1hhj':ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjL:h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj':ubj )�”}”(hŒgfp”h]”hŒgfp”…”�”}”(hjZ:h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj':ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjo9ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj69h²hh³jH9h´M®ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj29h²hh³jH9h´M®ubah}”(h]”j-9ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jH9h´M®hj/9h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ.Preallocate enough nodes for a store operation”h]”hŒ.Preallocate enough nodes for a store operation”…”�”}”(hj„:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M®hj�:h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj/9h²hh³jH9h´M®ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jœ:j] jœ:j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒç**Parameters** ``struct ma_state *mas`` The maple state ``void *entry`` The entry that will be stored ``gfp_t gfp`` The GFP_FLAGS to use for allocations. **Return** 0 on success, -ENOMEM if memory could not be allocated.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj¦:h]”hŒ Parameters”…”�”}”(hj¨:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤:ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M²hj :ubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hjÅ:h]”hŒstruct ma_state *mas”…”�”}”(hjÇ:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÃ:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M¯hj¿:ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hjÞ:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jÚ:h´M¯hjÛ:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¿:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jÚ:h´M¯hj¼:ubj>)�”}”(hŒ.``void *entry`` The entry that will be stored ”h]”(jD)�”}”(hŒ``void *entry``”h]”j~)�”}”(hjþ:h]”hŒ void *entry”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjü:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M°hjø:ubjT)�”}”(hhh]”hþ)�”}”(hŒThe entry that will be stored”h]”hŒThe entry that will be stored”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j;h´M°hj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjø:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j;h´M°hj¼:ubj>)�”}”(hŒ4``gfp_t gfp`` The GFP_FLAGS to use for allocations. ”h]”(jD)�”}”(hŒ ``gfp_t gfp``”h]”j~)�”}”(hj7;h]”hŒ gfp_t gfp”…”�”}”(hj9;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj5;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M±hj1;ubjT)�”}”(hhh]”hþ)�”}”(hŒ%The GFP_FLAGS to use for allocations.”h]”hŒ%The GFP_FLAGS to use for allocations.”…”�”}”(hjP;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jL;h´M±hjM;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj1;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jL;h´M±hj¼:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj :ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjr;h]”hŒReturn”…”�”}”(hjt;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjp;ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M³hj :ubhþ)�”}”(hŒ70 on success, -ENOMEM if memory could not be allocated.”h]”hŒ70 on success, -ENOMEM if memory could not be allocated.”…”�”}”(hjˆ;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M³hj :ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_next (C function)”Œ c.mas_next”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ9void * mas_next (struct ma_state *mas, unsigned long max)”h]”j )�”}”(hŒ7void *mas_next(struct ma_state *mas, unsigned long max)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj·;h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj³;h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M(ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆ;h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj³;h²hh³jÅ;h´M(ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjÔ;h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj³;h²hh³jÅ;h´M(ubj )�”}”(hŒmas_next”h]”j )�”}”(hŒmas_next”h]”hŒmas_next”…”�”}”(hjå;h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjá;ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj³;h²hh³jÅ;h´M(ubjà )�”}”(hŒ)(struct ma_state *mas, unsigned long max)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjý;ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjý;ubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj<ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j!<Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jç;sbŒ c.mas_next”†”asbuh1hhjý;ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?<h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjý;ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjM<h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjý;ubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjZ<h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjý;ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjù;ubjæ )�”}”(hŒunsigned long max”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjs<h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjo<ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�<h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjo<ubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj�<h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjo<ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�<h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjo<ubj )�”}”(hŒmax”h]”hŒmax”…”�”}”(hj«<h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjo<ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjù;ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj³;h²hh³jÅ;h´M(ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj¯;h²hh³jÅ;h´M(ubah}”(h]”jª;ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jÅ;h´M(hj¬;h²hubjI )�”}”(hhh]”hþ)�”}”(hŒGet the next entry.”h]”hŒGet the next entry.”…”�”}”(hjÕ<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M(hjÒ<h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj¬;h²hh³jÅ;h´M(ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jí<j] jí<j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX**Parameters** ``struct ma_state *mas`` The maple state ``unsigned long max`` The maximum index to check. **Description** Returns the next entry after **mas->index**. Must hold rcu_read_lock or the write lock. Can return the zero entry. **Return** The next entry or ``NULL``”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj÷<h]”hŒ Parameters”…”�”}”(hjù<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjõ<ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M,hjñ<ubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hj=h]”hŒstruct ma_state *mas”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M)hj=ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hj/=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j+=h´M)hj,=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j+=h´M)hj =ubj>)�”}”(hŒ2``unsigned long max`` The maximum index to check. ”h]”(jD)�”}”(hŒ``unsigned long max``”h]”j~)�”}”(hjO=h]”hŒunsigned long max”…”�”}”(hjQ=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjM=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M*hjI=ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maximum index to check.”h]”hŒThe maximum index to check.”…”�”}”(hjh=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jd=h´M*hje=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjI=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jd=h´M*hj =ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjñ<ubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjŠ=h]”hŒ Description”…”�”}”(hjŒ=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjˆ=ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M,hjñ<ubhþ)�”}”(hŒrReturns the next entry after **mas->index**. Must hold rcu_read_lock or the write lock. Can return the zero entry.”h]”(hŒReturns the next entry after ”…”�”}”(hj =h²hh³Nh´Nubj)�”}”(hŒ**mas->index**”h]”hŒ mas->index”…”�”}”(hj¨=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj =ubhŒG. Must hold rcu_read_lock or the write lock. Can return the zero entry.”…”�”}”(hj =h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M+hjñ<ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjÃ=h]”hŒReturn”…”�”}”(hjÅ=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÁ=ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M/hjñ<ubhþ)�”}”(hŒThe next entry or ``NULL``”h]”(hŒThe next entry or ”…”�”}”(hjÙ=h²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjá=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÙ=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M0hjñ<ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_next_range (C function)”Œc.mas_next_range”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ?void * mas_next_range (struct ma_state *mas, unsigned long max)”h]”j )�”}”(hŒ=void *mas_next_range(struct ma_state *mas, unsigned long max)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj>h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M@ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%>h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj>h²hh³j$>h´M@ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj3>h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj>h²hh³j$>h´M@ubj )�”}”(hŒmas_next_range”h]”j )�”}”(hŒmas_next_range”h]”hŒmas_next_range”…”�”}”(hjD>h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj@>ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj>h²hh³j$>h´M@ubjà )�”}”(hŒ)(struct ma_state *mas, unsigned long max)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj`>h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj\>ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm>h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj\>ubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj~>h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj{>ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j€>Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jF>sbŒc.mas_next_range”†”asbuh1hhj\>ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjž>h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj\>ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj¬>h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj\>ubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hj¹>h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj\>ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjX>ubjæ )�”}”(hŒunsigned long max”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÒ>h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjÎ>ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjà>h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÎ>ubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjî>h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjÎ>ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjü>h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÎ>ubj )�”}”(hŒmax”h]”hŒmax”…”�”}”(hj ?h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÎ>ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjX>ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj>h²hh³j$>h´M@ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj>h²hh³j$>h´M@ubah}”(h]”j >ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j$>h´M@hj >h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ)Advance the maple state to the next range”h]”hŒ)Advance the maple state to the next range”…”�”}”(hj4?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M@hj1?h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj >h²hh³j$>h´M@ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jL?j] jL?j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX#**Parameters** ``struct ma_state *mas`` The maple state ``unsigned long max`` The maximum index to check. **Description** Sets **mas->index** and **mas->last** to the range. Must hold rcu_read_lock or the write lock. Can return the zero entry. **Return** The next entry or ``NULL``”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjV?h]”hŒ Parameters”…”�”}”(hjX?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjT?ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MDhjP?ubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hju?h]”hŒstruct ma_state *mas”…”�”}”(hjw?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjs?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”•h´MAhjo?ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hjŽ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jŠ?h´MAhj‹?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjo?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jŠ?h´MAhjl?ubj>)�”}”(hŒ2``unsigned long max`` The maximum index to check. ”h]”(jD)�”}”(hŒ``unsigned long max``”h]”j~)�”}”(hj®?h]”hŒunsigned long max”…”�”}”(hj°?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj¬?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MBhj¨?ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maximum index to check.”h]”hŒThe maximum index to check.”…”�”}”(hjÇ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jÃ?h´MBhjÄ?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¨?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jÃ?h´MBhjl?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjP?ubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjé?h]”hŒ Description”…”�”}”(hjë?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjç?ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MDhjP?ubhþ)�”}”(hŒySets **mas->index** and **mas->last** to the range. Must hold rcu_read_lock or the write lock. Can return the zero entry.”h]”(hŒSets ”…”�”}”(hjÿ?h²hh³Nh´Nubj)�”}”(hŒ**mas->index**”h]”hŒ mas->index”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÿ?ubhŒ and ”…”�”}”(hjÿ?h²hh³Nh´Nubj)�”}”(hŒ **mas->last**”h]”hŒ mas->last”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÿ?ubhŒT to the range. Must hold rcu_read_lock or the write lock. Can return the zero entry.”…”�”}”(hjÿ?h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MChjP?ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj4@h]”hŒReturn”…”�”}”(hj6@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj2@ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MGhjP?ubhþ)�”}”(hŒThe next entry or ``NULL``”h]”(hŒThe next entry or ”…”�”}”(hjJ@h²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjR@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjJ@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MHhjP?ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmt_next (C function)”Œ c.mt_next”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒNvoid * mt_next (struct maple_tree *mt, unsigned long index, unsigned long max)”h]”j )�”}”(hŒLvoid *mt_next(struct maple_tree *mt, unsigned long index, unsigned long max)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj‡@h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjƒ@h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MXubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–@h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjƒ@h²hh³j•@h´MXubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj¤@h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjƒ@h²hh³j•@h´MXubj )�”}”(hŒmt_next”h]”j )�”}”(hŒmt_next”h]”hŒmt_next”…”�”}”(hjµ@h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj±@ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjƒ@h²hh³j•@h´MXubjà )�”}”(hŒ?(struct maple_tree *mt, unsigned long index, unsigned long max)”h]”(jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjÑ@h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjÍ@ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞ@h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÍ@ubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hjï@h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjì@ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jñ@Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j·@sbŒ c.mt_next”†”asbuh1hhjÍ@ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÍ@ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjÍ@ubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hj*Ah²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÍ@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjÉ@ubjæ )�”}”(hŒunsigned long index”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjCAh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj?Aubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQAh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj?Aubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj_Ah²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj?Aubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjmAh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj?Aubj )�”}”(hŒindex”h]”hŒindex”…”�”}”(hj{Ah²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj?Aubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjÉ@ubjæ )�”}”(hŒunsigned long max”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj”Ah²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj�Aubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢Ah²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj�Aubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj°Ah²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj�Aubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾Ah²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj�Aubj )�”}”(hŒmax”h]”hŒmax”…”�”}”(hjÌAh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj�Aubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjÉ@ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjƒ@h²hh³j•@h´MXubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj@h²hh³j•@h´MXubah}”(h]”jz@ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j•@h´MXhj|@h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ$get the next value in the maple tree”h]”hŒ$get the next value in the maple tree”…”�”}”(hjöAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MXhjóAh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj|@h²hh³j•@h´MXubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jBj] jBj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX©**Parameters** ``struct maple_tree *mt`` The maple tree ``unsigned long index`` The start index ``unsigned long max`` The maximum index to check **Description** Takes RCU read lock internally to protect the search, which does not protect the returned pointer after dropping RCU read lock. See also: Documentation/core-api/maple_tree.rst **Return** The entry higher than **index** or ``NULL`` if nothing is found.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjBh]”hŒ Parameters”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjBubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M\hjBubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct maple_tree *mt`` The maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hj7Bh]”hŒstruct maple_tree *mt”…”�”}”(hj9Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj5Bubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MYhj1BubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree”h]”hŒThe maple tree”…”�”}”(hjPBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jLBh´MYhjMBubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj1Bubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jLBh´MYhj.Bubj>)�”}”(hŒ(``unsigned long index`` The start index ”h]”(jD)�”}”(hŒ``unsigned long index``”h]”j~)�”}”(hjpBh]”hŒunsigned long index”…”�”}”(hjrBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjnBubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MZhjjBubjT)�”}”(hhh]”hþ)�”}”(hŒThe start index”h]”hŒThe start index”…”�”}”(hj‰Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j…Bh´MZhj†Bubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjjBubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j…Bh´MZhj.Bubj>)�”}”(hŒ1``unsigned long max`` The maximum index to check ”h]”(jD)�”}”(hŒ``unsigned long max``”h]”j~)�”}”(hj©Bh]”hŒunsigned long max”…”�”}”(hj«Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj§Bubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M[hj£BubjT)�”}”(hhh]”hþ)�”}”(hŒThe maximum index to check”h]”hŒThe maximum index to check”…”�”}”(hjÂBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j¾Bh´M[hj¿Bubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj£Bubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j¾Bh´M[hj.Bubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjBubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjäBh]”hŒ Description”…”�”}”(hjæBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjâBubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M]hjBubhþ)�”}”(hŒ¯Takes RCU read lock internally to protect the search, which does not protect the returned pointer after dropping RCU read lock. See also: Documentation/core-api/maple_tree.rst”h]”hŒ¯Takes RCU read lock internally to protect the search, which does not protect the returned pointer after dropping RCU read lock. See also: Documentation/core-api/maple_tree.rst”…”�”}”(hjúBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M\hjBubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj Ch]”hŒReturn”…”�”}”(hj Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj Cubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M`hjBubhþ)�”}”(hŒ@The entry higher than **index** or ``NULL`` if nothing is found.”h]”(hŒThe entry higher than ”…”�”}”(hj!Ch²hh³Nh´Nubj)�”}”(hŒ **index**”h]”hŒindex”…”�”}”(hj)Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj!CubhŒ or ”…”�”}”(hj!Ch²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj;Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj!CubhŒ if nothing is found.”…”�”}”(hj!Ch²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MahjBubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_prev (C function)”Œ c.mas_prev”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ9void * mas_prev (struct ma_state *mas, unsigned long min)”h]”j )�”}”(hŒ7void *mas_prev(struct ma_state *mas, unsigned long min)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjtCh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjpCh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M­ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒCh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjpCh²hh³j‚Ch´M­ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj‘Ch²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjpCh²hh³j‚Ch´M­ubj )�”}”(hŒmas_prev”h]”j )�”}”(hŒmas_prev”h]”hŒmas_prev”…”�”}”(hj¢Ch²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjžCubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjpCh²hh³j‚Ch´M­ubjà )�”}”(hŒ)(struct ma_state *mas, unsigned long min)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj¾Ch²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjºCubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjËCh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjºCubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hjÜCh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÙCubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jÞCŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j¤CsbŒ c.mas_prev”†”asbuh1hhjºCubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjüCh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjºCubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj Dh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjºCubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjºCubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj¶Cubjæ )�”}”(hŒunsigned long min”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj0Dh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj,Dubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>Dh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj,Dubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjLDh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj,Dubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZDh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj,Dubj )�”}”(hŒmin”h]”hŒmin”…”�”}”(hjhDh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj,Dubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj¶Cubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjpCh²hh³j‚Ch´M­ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjlCh²hh³j‚Ch´M­ubah}”(h]”jgCah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j‚Ch´M­hjiCh²hubjI )�”}”(hhh]”hþ)�”}”(hŒGet the previous entry”h]”hŒGet the previous entry”…”�”}”(hj’Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M­hj�Dh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjiCh²hh³j‚Ch´M­ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jªDj] jªDj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX2**Parameters** ``struct ma_state *mas`` The maple state ``unsigned long min`` The minimum value to check. **Description** Must hold rcu_read_lock or the write lock. Will reset mas to ma_start if the status is ma_none. Will stop on not searchable nodes. **Return** the previous value or ``NULL``.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj´Dh]”hŒ Parameters”…”�”}”(hj¶Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj²Dubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M±hj®Dubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hjÓDh]”hŒstruct ma_state *mas”…”�”}”(hjÕDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÑDubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M®hjÍDubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hjìDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jèDh´M®hjéDubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÍDubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jèDh´M®hjÊDubj>)�”}”(hŒ2``unsigned long min`` The minimum value to check. ”h]”(jD)�”}”(hŒ``unsigned long min``”h]”j~)�”}”(hj Eh]”hŒunsigned long min”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj Eubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M¯hjEubjT)�”}”(hhh]”hþ)�”}”(hŒThe minimum value to check.”h]”hŒThe minimum value to check.”…”�”}”(hj%Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j!Eh´M¯hj"Eubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjEubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j!Eh´M¯hjÊDubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj®Dubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjGEh]”hŒ Description”…”�”}”(hjIEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjEEubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M±hj®Dubhþ)�”}”(hŒƒMust hold rcu_read_lock or the write lock. Will reset mas to ma_start if the status is ma_none. Will stop on not searchable nodes.”h]”hŒƒMust hold rcu_read_lock or the write lock. Will reset mas to ma_start if the status is ma_none. Will stop on not searchable nodes.”…”�”}”(hj]Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M°hj®Dubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjnEh]”hŒReturn”…”�”}”(hjpEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjlEubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M´hj®Dubhþ)�”}”(hŒthe previous value or ``NULL``.”h]”(hŒthe previous value or ”…”�”}”(hj„Eh²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjŒEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj„EubhŒ.”…”�”}”(hj„Eh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mµhj®Dubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_prev_range (C function)”Œc.mas_prev_range”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ?void * mas_prev_range (struct ma_state *mas, unsigned long min)”h]”j )�”}”(hŒ=void *mas_prev_range(struct ma_state *mas, unsigned long min)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÅEh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjÁEh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÄubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔEh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÁEh²hh³jÓEh´MÄubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjâEh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjÁEh²hh³jÓEh´MÄubj )�”}”(hŒmas_prev_range”h]”j )�”}”(hŒmas_prev_range”h]”hŒmas_prev_range”…”�”}”(hjóEh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjïEubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjÁEh²hh³jÓEh´MÄubjà )�”}”(hŒ)(struct ma_state *mas, unsigned long min)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj Fubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj Fubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj-Fh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj*Fubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j/FŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jõEsbŒc.mas_prev_range”†”asbuh1hhj Fubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMFh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj Fubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj[Fh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj Fubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjhFh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj Fubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjFubjæ )�”}”(hŒunsigned long min”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj�Fh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj}Fubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Fh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj}Fubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj�Fh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj}Fubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«Fh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj}Fubj )�”}”(hŒmin”h]”hŒmin”…”�”}”(hj¹Fh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj}Fubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjFubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjÁEh²hh³jÓEh´MÄubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj½Eh²hh³jÓEh´MÄubah}”(h]”j¸Eah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jÓEh´MÄhjºEh²hubjI )�”}”(hhh]”hþ)�”}”(hŒAdvance to the previous range”h]”hŒAdvance to the previous range”…”�”}”(hjãFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÄhjàFh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjºEh²hh³jÓEh´MÄubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jûFj] jûFj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hXd**Parameters** ``struct ma_state *mas`` The maple state ``unsigned long min`` The minimum value to check. **Description** Sets **mas->index** and **mas->last** to the range. Must hold rcu_read_lock or the write lock. Will reset mas to ma_start if the node is ma_none. Will stop on not searchable nodes. **Return** the previous value or ``NULL``.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjGh]”hŒ Parameters”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjGubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÈhjÿFubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hj$Gh]”hŒstruct ma_state *mas”…”�”}”(hj&Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj"Gubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÅhjGubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hj=Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j9Gh´MÅhj:Gubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjGubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j9Gh´MÅhjGubj>)�”}”(hŒ2``unsigned long min`` The minimum value to check. ”h]”(jD)�”}”(hŒ``unsigned long min``”h]”j~)�”}”(hj]Gh]”hŒunsigned long min”…”�”}”(hj_Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj[Gubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÆhjWGubjT)�”}”(hhh]”hþ)�”}”(hŒThe minimum value to check.”h]”hŒThe minimum value to check.”…”�”}”(hjvGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jrGh´MÆhjsGubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjWGubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jrGh´MÆhjGubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjÿFubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hj˜Gh]”hŒ Description”…”�”}”(hjšGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj–Gubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÈhjÿFubhþ)�”}”(hŒµSets **mas->index** and **mas->last** to the range. Must hold rcu_read_lock or the write lock. Will reset mas to ma_start if the node is ma_none. Will stop on not searchable nodes.”h]”(hŒSets ”…”�”}”(hj®Gh²hh³Nh´Nubj)�”}”(hŒ**mas->index**”h]”hŒ mas->index”…”�”}”(hj¶Gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj®GubhŒ and ”…”�”}”(hj®Gh²hh³Nh´Nubj)�”}”(hŒ **mas->last**”h]”hŒ mas->last”…”�”}”(hjÈGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj®GubhŒ� to the range. Must hold rcu_read_lock or the write lock. Will reset mas to ma_start if the node is ma_none. Will stop on not searchable nodes.”…”�”}”(hj®Gh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÇhjÿFubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjãGh]”hŒReturn”…”�”}”(hjåGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjáGubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÌhjÿFubhþ)�”}”(hŒthe previous value or ``NULL``.”h]”(hŒthe previous value or ”…”�”}”(hjùGh²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjùGubhŒ.”…”�”}”(hjùGh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÍhjÿFubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmt_prev (C function)”Œ c.mt_prev”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒNvoid * mt_prev (struct maple_tree *mt, unsigned long index, unsigned long min)”h]”j )�”}”(hŒLvoid *mt_prev(struct maple_tree *mt, unsigned long index, unsigned long min)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj:Hh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj6Hh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÜubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjIHh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj6Hh²hh³jHHh´MÜubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjWHh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj6Hh²hh³jHHh´MÜubj )�”}”(hŒmt_prev”h]”j )�”}”(hŒmt_prev”h]”hŒmt_prev”…”�”}”(hjhHh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjdHubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj6Hh²hh³jHHh´MÜubjà )�”}”(hŒ?(struct maple_tree *mt, unsigned long index, unsigned long min)”h]”(jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj„Hh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj€Hubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘Hh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj€Hubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hj¢Hh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjŸHubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j¤HŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jjHsbŒ c.mt_prev”†”asbuh1hhj€Hubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂHh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj€Hubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjÐHh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj€Hubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hjÝHh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj€Hubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj|Hubjæ )�”}”(hŒunsigned long index”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjöHh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjòHubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjòHubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjòHubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Ih²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjòHubj )�”}”(hŒindex”h]”hŒindex”…”�”}”(hj.Ih²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjòHubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj|Hubjæ )�”}”(hŒunsigned long min”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjGIh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjCIubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUIh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjCIubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjcIh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjCIubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqIh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjCIubj )�”}”(hŒmin”h]”hŒmin”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjCIubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj|Hubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj6Hh²hh³jHHh´MÜubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj2Hh²hh³jHHh´MÜubah}”(h]”j-Hah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jHHh´MÜhj/Hh²hubjI )�”}”(hhh]”hþ)�”}”(hŒ(get the previous value in the maple tree”h]”hŒ(get the previous value in the maple tree”…”�”}”(hj©Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÜhj¦Ih²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj/Hh²hh³jHHh´MÜubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jÁIj] jÁIj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX¤**Parameters** ``struct maple_tree *mt`` The maple tree ``unsigned long index`` The start index ``unsigned long min`` The minimum index to check **Description** Takes RCU read lock internally to protect the search, which does not protect the returned pointer after dropping RCU read lock. See also: Documentation/core-api/maple_tree.rst **Return** The entry before **index** or ``NULL`` if nothing is found.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjËIh]”hŒ Parameters”…”�”}”(hjÍIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÉIubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MàhjÅIubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct maple_tree *mt`` The maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hjêIh]”hŒstruct maple_tree *mt”…”�”}”(hjìIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjèIubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÝhjäIubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree”h]”hŒThe maple tree”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jÿIh´MÝhjJubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjäIubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jÿIh´MÝhjáIubj>)�”}”(hŒ(``unsigned long index`` The start index ”h]”(jD)�”}”(hŒ``unsigned long index``”h]”j~)�”}”(hj#Jh]”hŒunsigned long index”…”�”}”(hj%Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj!Jubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÞhjJubjT)�”}”(hhh]”hþ)�”}”(hŒThe start index”h]”hŒThe start index”…”�”}”(hj)�”}”(hŒ1``unsigned long min`` The minimum index to check ”h]”(jD)�”}”(hŒ``unsigned long min``”h]”j~)�”}”(hj\Jh]”hŒunsigned long min”…”�”}”(hj^Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjZJubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MßhjVJubjT)�”}”(hhh]”hþ)�”}”(hŒThe minimum index to check”h]”hŒThe minimum index to check”…”�”}”(hjuJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jqJh´MßhjrJubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjVJubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jqJh´MßhjáIubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjÅIubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hj—Jh]”hŒ Description”…”�”}”(hj™Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj•Jubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MáhjÅIubhþ)�”}”(hŒ¯Takes RCU read lock internally to protect the search, which does not protect the returned pointer after dropping RCU read lock. See also: Documentation/core-api/maple_tree.rst”h]”hŒ¯Takes RCU read lock internally to protect the search, which does not protect the returned pointer after dropping RCU read lock. See also: Documentation/core-api/maple_tree.rst”…”�”}”(hj­Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MàhjÅIubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj¾Jh]”hŒReturn”…”�”}”(hjÀJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¼Jubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MähjÅIubhþ)�”}”(hŒ;The entry before **index** or ``NULL`` if nothing is found.”h]”(hŒThe entry before ”…”�”}”(hjÔJh²hh³Nh´Nubj)�”}”(hŒ **index**”h]”hŒindex”…”�”}”(hjÜJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÔJubhŒ or ”…”�”}”(hjÔJh²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjîJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÔJubhŒ if nothing is found.”…”�”}”(hjÔJh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MåhjÅIubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_pause (C function)”Œ c.mas_pause”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ%void mas_pause (struct ma_state *mas)”h]”j )�”}”(hŒ$void mas_pause(struct ma_state *mas)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj'Kh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj#Kh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Môubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6Kh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj#Kh²hh³j5Kh´Môubj )�”}”(hŒ mas_pause”h]”j )�”}”(hŒ mas_pause”h]”hŒ mas_pause”…”�”}”(hjHKh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjDKubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj#Kh²hh³j5Kh´Môubjà )�”}”(hŒ(struct ma_state *mas)”h]”jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjdKh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj`Kubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqKh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj`Kubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj‚Kh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjKubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j„KŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jJKsbŒ c.mas_pause”†”asbuh1hhj`Kubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢Kh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj`Kubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj°Kh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj`Kubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hj½Kh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj`Kubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj\Kubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj#Kh²hh³j5Kh´Môubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjKh²hh³j5Kh´Môubah}”(h]”jKah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j5Kh´MôhjKh²hubjI )�”}”(hhh]”hþ)�”}”(hŒ/Pause a mas_find/mas_for_each to drop the lock.”h]”hŒ/Pause a mas_find/mas_for_each to drop the lock.”…”�”}”(hjçKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MôhjäKh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjKh²hh³j5Kh´Môubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jÿKj] jÿKj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX**Parameters** ``struct ma_state *mas`` The maple state to pause **Description** Some users need to pause a walk and drop the lock they're holding in order to yield to a higher priority thread or carry out an operation on an entry. Those users should call this function before they drop the lock. It resets the **mas** to be suitable for the next iteration of the loop after the user has reacquired the lock. If most entries found during a walk require you to call mas_pause(), the mt_for_each() iterator may be more appropriate.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj Lh]”hŒ Parameters”…”�”}”(hj Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjLubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MøhjLubj9)�”}”(hhh]”j>)�”}”(hŒ2``struct ma_state *mas`` The maple state to pause ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hj(Lh]”hŒstruct ma_state *mas”…”�”}”(hj*Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj&Lubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mõhj"LubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state to pause”h]”hŒThe maple state to pause”…”�”}”(hjALh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j=Lh´Mõhj>Lubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj"Lubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j=Lh´MõhjLubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hjLubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjcLh]”hŒ Description”…”�”}”(hjeLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjaLubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M÷hjLubhþ)�”}”(hXÃSome users need to pause a walk and drop the lock they're holding in order to yield to a higher priority thread or carry out an operation on an entry. Those users should call this function before they drop the lock. It resets the **mas** to be suitable for the next iteration of the loop after the user has reacquired the lock. If most entries found during a walk require you to call mas_pause(), the mt_for_each() iterator may be more appropriate.”h]”(hŒêSome users need to pause a walk and drop the lock they’re holding in order to yield to a higher priority thread or carry out an operation on an entry. Those users should call this function before they drop the lock. It resets the ”…”�”}”(hjyLh²hh³Nh´Nubj)�”}”(hŒ**mas**”h]”hŒmas”…”�”}”(hj�Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjyLubhŒÔ to be suitable for the next iteration of the loop after the user has reacquired the lock. If most entries found during a walk require you to call mas_pause(), the mt_for_each() iterator may be more appropriate.”…”�”}”(hjyLh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MöhjLubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_find_setup (C function)”Œc.mas_find_setup”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒKbool mas_find_setup (struct ma_state *mas, unsigned long max, void **entry)”h]”j )�”}”(hŒJbool mas_find_setup(struct ma_state *mas, unsigned long max, void **entry)”h]”(j¥ )�”}”(hj¨ h]”hŒbool”…”�”}”(hjºLh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj¶Lh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈLh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj¶Lh²hh³jÇLh´M ubj )�”}”(hŒmas_find_setup”h]”j )�”}”(hŒmas_find_setup”h]”hŒmas_find_setup”…”�”}”(hjÚLh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÖLubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj¶Lh²hh³jÇLh´M ubjà )�”}”(hŒ7(struct ma_state *mas, unsigned long max, void **entry)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjöLh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjòLubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjòLubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjMubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jMŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jÜLsbŒc.mas_find_setup”†”asbuh1hhjòLubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4Mh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjòLubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjBMh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjòLubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjOMh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjòLubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjîLubjæ )�”}”(hŒunsigned long max”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjhMh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjdMubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjvMh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjdMubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj„Mh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjdMubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’Mh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjdMubj )�”}”(hŒmax”h]”hŒmax”…”�”}”(hj Mh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjdMubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjîLubjæ )�”}”(hŒ void **entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¹Mh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjµMubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇMh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjµMubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjÕMh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjµMubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjâMh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjµMubj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hjïMh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjµMubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjîLubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj¶Lh²hh³jÇLh´M ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj²Lh²hh³jÇLh´M ubah}”(h]”j­Lah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jÇLh´M hj¯Lh²hubjI )�”}”(hhh]”hþ)�”}”(hŒ(Internal function to set up mas_find*().”h]”hŒ(Internal function to set up mas_find*().”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M hjNh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj¯Lh²hh³jÇLh´M ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j1Nj] j1Nj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒÉ**Parameters** ``struct ma_state *mas`` The maple state ``unsigned long max`` The maximum index ``void **entry`` Pointer to the entry **Return** True if entry is the answer, false otherwise.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj;Nh]”hŒ Parameters”…”�”}”(hj=Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj9Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M hj5Nubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hjZNh]”hŒstruct ma_state *mas”…”�”}”(hj\Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjXNubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M hjTNubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hjsNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³joNh´M hjpNubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjTNubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³joNh´M hjQNubj>)�”}”(hŒ(``unsigned long max`` The maximum index ”h]”(jD)�”}”(hŒ``unsigned long max``”h]”j~)�”}”(hj“Nh]”hŒunsigned long max”…”�”}”(hj•Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj‘Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M hj�NubjT)�”}”(hhh]”hþ)�”}”(hŒThe maximum index”h]”hŒThe maximum index”…”�”}”(hj¬Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j¨Nh´M hj©Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj�Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j¨Nh´M hjQNubj>)�”}”(hŒ&``void **entry`` Pointer to the entry ”h]”(jD)�”}”(hŒ``void **entry``”h]”j~)�”}”(hjÌNh]”hŒ void **entry”…”�”}”(hjÎNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÊNubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M hjÆNubjT)�”}”(hhh]”hþ)�”}”(hŒPointer to the entry”h]”hŒPointer to the entry”…”�”}”(hjåNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jáNh´M hjâNubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÆNubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jáNh´M hjQNubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj5Nubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjOh]”hŒReturn”…”�”}”(hj Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjOubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhj5Nubhþ)�”}”(hŒ-True if entry is the answer, false otherwise.”h]”hŒ-True if entry is the answer, false otherwise.”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhj5Nubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_find (C function)”Œ c.mas_find”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ9void * mas_find (struct ma_state *mas, unsigned long max)”h]”j )�”}”(hŒ7void *mas_find(struct ma_state *mas, unsigned long max)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjLOh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjHOh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M`ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[Oh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjHOh²hh³jZOh´M`ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjiOh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjHOh²hh³jZOh´M`ubj )�”}”(hŒmas_find”h]”j )�”}”(hŒmas_find”h]”hŒmas_find”…”�”}”(hjzOh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjvOubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjHOh²hh³jZOh´M`ubjà )�”}”(hŒ)(struct ma_state *mas, unsigned long max)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj–Oh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj’Oubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£Oh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj’Oubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj´Oh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj±Oubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j¶OŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j|OsbŒ c.mas_find”†”asbuh1hhj’Oubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔOh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj’Oubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjâOh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj’Oubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjïOh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj’Oubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjŽOubjæ )�”}”(hŒunsigned long max”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjPubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjPubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj$Ph²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjPubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2Ph²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjPubj )�”}”(hŒmax”h]”hŒmax”…”�”}”(hj@Ph²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjPubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjŽOubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjHOh²hh³jZOh´M`ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjDOh²hh³jZOh´M`ubah}”(h]”j?Oah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jZOh´M`hjAOh²hubjI )�”}”(hhh]”hþ)�”}”(hŒsOn the first call, find the entry at or after mas->index up to ``max``. Otherwise, find the entry after mas->index.”h]”(hŒ?On the first call, find the entry at or after mas->index up to ”…”�”}”(hjjPh²hh³Nh´Nubj~)�”}”(hŒ``max``”h]”hŒmax”…”�”}”(hjrPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjjPubhŒ-. Otherwise, find the entry after mas->index.”…”�”}”(hjjPh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M`hjgPh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjAOh²hh³jZOh´M`ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j”Pj] j”Pj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX4**Parameters** ``struct ma_state *mas`` The maple state ``unsigned long max`` The maximum value to check. **Description** Must hold rcu_read_lock or the write lock. If an entry exists, last and index are updated accordingly. May set **mas->status** to ma_overflow. **Return** The entry or ``NULL``.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjžPh]”hŒ Parameters”…”�”}”(hj Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjœPubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mdhj˜Pubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hj½Ph]”hŒstruct ma_state *mas”…”�”}”(hj¿Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj»Pubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mbhj·PubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hjÖPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jÒPh´MbhjÓPubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj·Pubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jÒPh´Mbhj´Pubj>)�”}”(hŒ2``unsigned long max`` The maximum value to check. ”h]”(jD)�”}”(hŒ``unsigned long max``”h]”j~)�”}”(hjöPh]”hŒunsigned long max”…”�”}”(hjøPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjôPubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MchjðPubjT)�”}”(hhh]”hþ)�”}”(hŒThe maximum value to check.”h]”hŒThe maximum value to check.”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j Qh´Mchj Qubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjðPubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j Qh´Mchj´Pubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj˜Pubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hj1Qh]”hŒ Description”…”�”}”(hj3Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj/Qubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mehj˜Pubhþ)�”}”(hŒŽMust hold rcu_read_lock or the write lock. If an entry exists, last and index are updated accordingly. May set **mas->status** to ma_overflow.”h]”(hŒoMust hold rcu_read_lock or the write lock. If an entry exists, last and index are updated accordingly. May set ”…”�”}”(hjGQh²hh³Nh´Nubj)�”}”(hŒ**mas->status**”h]”hŒ mas->status”…”�”}”(hjOQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjGQubhŒ to ma_overflow.”…”�”}”(hjGQh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mdhj˜Pubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjjQh]”hŒReturn”…”�”}”(hjlQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjhQubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhhj˜Pubhþ)�”}”(hŒThe entry or ``NULL``.”h]”(hŒ The entry or ”…”�”}”(hj€Qh²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjˆQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj€QubhŒ.”…”�”}”(hj€Qh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mihj˜Pubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_find_range (C function)”Œc.mas_find_range”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ?void * mas_find_range (struct ma_state *mas, unsigned long max)”h]”j )�”}”(hŒ=void *mas_find_range(struct ma_state *mas, unsigned long max)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÁQh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj½Qh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M|ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐQh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj½Qh²hh³jÏQh´M|ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjÞQh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj½Qh²hh³jÏQh´M|ubj )�”}”(hŒmas_find_range”h]”j )�”}”(hŒmas_find_range”h]”hŒmas_find_range”…”�”}”(hjïQh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjëQubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj½Qh²hh³jÏQh´M|ubjà )�”}”(hŒ)(struct ma_state *mas, unsigned long max)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj Rh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjRubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjRubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj)Rh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj&Rubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j+RŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jñQsbŒc.mas_find_range”†”asbuh1hhjRubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjIRh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjRubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjWRh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjRubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjdRh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjRubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjRubjæ )�”}”(hŒunsigned long max”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj}Rh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjyRubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹Rh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjyRubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj™Rh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjyRubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§Rh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjyRubj )�”}”(hŒmax”h]”hŒmax”…”�”}”(hjµRh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjyRubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjRubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj½Qh²hh³jÏQh´M|ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj¹Qh²hh³jÏQh´M|ubah}”(h]”j´Qah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jÏQh´M|hj¶Qh²hubjI )�”}”(hhh]”hþ)�”}”(hŒwOn the first call, find the entry at or after mas->index up to ``max``. Otherwise, advance to the next slot mas->index.”h]”(hŒ?On the first call, find the entry at or after mas->index up to ”…”�”}”(hjßRh²hh³Nh´Nubj~)�”}”(hŒ``max``”h]”hŒmax”…”�”}”(hjçRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjßRubhŒ1. Otherwise, advance to the next slot mas->index.”…”�”}”(hjßRh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M|hjÜRh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj¶Qh²hh³jÏQh´M|ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j Sj] j Sj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX4**Parameters** ``struct ma_state *mas`` The maple state ``unsigned long max`` The maximum value to check. **Description** Must hold rcu_read_lock or the write lock. If an entry exists, last and index are updated accordingly. May set **mas->status** to ma_overflow. **Return** The entry or ``NULL``.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjSh]”hŒ Parameters”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjSubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M€hj Subj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hj2Sh]”hŒstruct ma_state *mas”…”�”}”(hj4Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj0Subah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M~hj,SubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hjKSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jGSh´M~hjHSubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj,Subeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jGSh´M~hj)Subj>)�”}”(hŒ2``unsigned long max`` The maximum value to check. ”h]”(jD)�”}”(hŒ``unsigned long max``”h]”j~)�”}”(hjkSh]”hŒunsigned long max”…”�”}”(hjmSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjiSubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhjeSubjT)�”}”(hhh]”hþ)�”}”(hŒThe maximum value to check.”h]”hŒThe maximum value to check.”…”�”}”(hj„Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j€Sh´Mhj�Subah}”(h]”h ]”h"]”h$]”h&]”uh1jShjeSubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j€Sh´Mhj)Subeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj Subhþ)�”}”(hŒ**Description**”h]”j)�”}”(hj¦Sh]”hŒ Description”…”�”}”(hj¨Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤Subah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M�hj Subhþ)�”}”(hŒŽMust hold rcu_read_lock or the write lock. If an entry exists, last and index are updated accordingly. May set **mas->status** to ma_overflow.”h]”(hŒoMust hold rcu_read_lock or the write lock. If an entry exists, last and index are updated accordingly. May set ”…”�”}”(hj¼Sh²hh³Nh´Nubj)�”}”(hŒ**mas->status**”h]”hŒ mas->status”…”�”}”(hjÄSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¼SubhŒ to ma_overflow.”…”�”}”(hj¼Sh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M€hj Subhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjßSh]”hŒReturn”…”�”}”(hjáSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÝSubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M„hj Subhþ)�”}”(hŒThe entry or ``NULL``.”h]”(hŒ The entry or ”…”�”}”(hjõSh²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjýSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjõSubhŒ.”…”�”}”(hjõSh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M…hj Subeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_find_rev_setup (C function)”Œc.mas_find_rev_setup”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒObool mas_find_rev_setup (struct ma_state *mas, unsigned long min, void **entry)”h]”j )�”}”(hŒNbool mas_find_rev_setup(struct ma_state *mas, unsigned long min, void **entry)”h]”(j¥ )�”}”(hj¨ h]”hŒbool”…”�”}”(hj6Th²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj2Th²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M•ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDTh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj2Th²hh³jCTh´M•ubj )�”}”(hŒmas_find_rev_setup”h]”j )�”}”(hŒmas_find_rev_setup”h]”hŒmas_find_rev_setup”…”�”}”(hjVTh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjRTubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj2Th²hh³jCTh´M•ubjà )�”}”(hŒ7(struct ma_state *mas, unsigned long min, void **entry)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjrTh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjnTubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjnTubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj�Th²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj�Tubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j’TŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jXTsbŒc.mas_find_rev_setup”†”asbuh1hhjnTubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°Th²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjnTubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj¾Th²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjnTubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjËTh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjnTubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjjTubjæ )�”}”(hŒunsigned long min”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjäTh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjàTubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjòTh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjàTubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjàTubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjàTubj )�”}”(hŒmin”h]”hŒmin”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjàTubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjjTubjæ )�”}”(hŒ void **entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj5Uh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj1Uubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCUh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj1Uubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjQUh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj1Uubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj^Uh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj1Uubj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hjkUh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj1Uubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjjTubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj2Th²hh³jCTh´M•ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj.Th²hh³jCTh´M•ubah}”(h]”j)Tah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jCTh´M•hj+Th²hubjI )�”}”(hhh]”hþ)�”}”(hŒ,Internal function to set up mas_find_*_rev()”h]”hŒ,Internal function to set up mas_find_*_rev()”…”�”}”(hj•Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M•hj’Uh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj+Th²hh³jCTh´M•ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j­Uj] j­Uj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒÉ**Parameters** ``struct ma_state *mas`` The maple state ``unsigned long min`` The minimum index ``void **entry`` Pointer to the entry **Return** True if entry is the answer, false otherwise.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj·Uh]”hŒ Parameters”…”�”}”(hj¹Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjµUubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M™hj±Uubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hjÖUh]”hŒstruct ma_state *mas”…”�”}”(hjØUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÔUubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M–hjÐUubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hjïUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jëUh´M–hjìUubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÐUubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jëUh´M–hjÍUubj>)�”}”(hŒ(``unsigned long min`` The minimum index ”h]”(jD)�”}”(hŒ``unsigned long min``”h]”j~)�”}”(hjVh]”hŒunsigned long min”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj Vubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M—hj VubjT)�”}”(hhh]”hþ)�”}”(hŒThe minimum index”h]”hŒThe minimum index”…”�”}”(hj(Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j$Vh´M—hj%Vubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj Vubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j$Vh´M—hjÍUubj>)�”}”(hŒ&``void **entry`` Pointer to the entry ”h]”(jD)�”}”(hŒ``void **entry``”h]”j~)�”}”(hjHVh]”hŒ void **entry”…”�”}”(hjJVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjFVubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M˜hjBVubjT)�”}”(hhh]”hþ)�”}”(hŒPointer to the entry”h]”hŒPointer to the entry”…”�”}”(hjaVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j]Vh´M˜•hj^Vubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjBVubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j]Vh´M˜hjÍUubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj±Uubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjƒVh]”hŒReturn”…”�”}”(hj…Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�Vubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mšhj±Uubhþ)�”}”(hŒ-True if entry is the answer, false otherwise.”h]”hŒ-True if entry is the answer, false otherwise.”…”�”}”(hj™Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mšhj±Uubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_find_rev (C function)”Œc.mas_find_rev”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ=void * mas_find_rev (struct ma_state *mas, unsigned long min)”h]”j )�”}”(hŒ;void *mas_find_rev(struct ma_state *mas, unsigned long min)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÈVh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjÄVh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mëubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×Vh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÄVh²hh³jÖVh´Mëubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjåVh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjÄVh²hh³jÖVh´Mëubj )�”}”(hŒ mas_find_rev”h]”j )�”}”(hŒ mas_find_rev”h]”hŒ mas_find_rev”…”�”}”(hjöVh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjòVubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjÄVh²hh³jÖVh´Mëubjà )�”}”(hŒ)(struct ma_state *mas, unsigned long min)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjWubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjWubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj0Wh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj-Wubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j2WŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jøVsbŒc.mas_find_rev”†”asbuh1hhjWubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjPWh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjWubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj^Wh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjWubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjkWh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjWubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj Wubjæ )�”}”(hŒunsigned long min”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj„Wh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj€Wubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’Wh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj€Wubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj Wh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj€Wubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®Wh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj€Wubj )�”}”(hŒmin”h]”hŒmin”…”�”}”(hj¼Wh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj€Wubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj Wubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjÄVh²hh³jÖVh´Mëubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjÀVh²hh³jÖVh´Mëubah}”(h]”j»Vah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jÖVh´Mëhj½Vh²hubjI )�”}”(hhh]”hþ)�”}”(hŒ¢On the first call, find the first non-null entry at or below mas->index down to ``min``. Otherwise find the first non-null entry below mas->index down to ``min``.”h]”(hŒPOn the first call, find the first non-null entry at or below mas->index down to ”…”�”}”(hjæWh²hh³Nh´Nubj~)�”}”(hŒ``min``”h]”hŒmin”…”�”}”(hjîWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjæWubhŒC. Otherwise find the first non-null entry below mas->index down to ”…”�”}”(hjæWh²hh³Nh´Nubj~)�”}”(hŒ``min``”h]”hŒmin”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjæWubhŒ.”…”�”}”(hjæWh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MëhjãWh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj½Vh²hh³jÖVh´Mëubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j"Xj] j"Xj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX5**Parameters** ``struct ma_state *mas`` The maple state ``unsigned long min`` The minimum value to check. **Description** Must hold rcu_read_lock or the write lock. If an entry exists, last and index are updated accordingly. May set **mas->status** to ma_underflow. **Return** The entry or ``NULL``.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj,Xh]”hŒ Parameters”…”�”}”(hj.Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj*Xubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mïhj&Xubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hjKXh]”hŒstruct ma_state *mas”…”�”}”(hjMXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjIXubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MîhjEXubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hjdXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j`Xh´MîhjaXubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjEXubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j`Xh´MîhjBXubj>)�”}”(hŒ2``unsigned long min`` The minimum value to check. ”h]”(jD)�”}”(hŒ``unsigned long min``”h]”j~)�”}”(hj„Xh]”hŒunsigned long min”…”�”}”(hj†Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj‚Xubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mïhj~XubjT)�”}”(hhh]”hþ)�”}”(hŒThe minimum value to check.”h]”hŒThe minimum value to check.”…”�”}”(hj�Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j™Xh´MïhjšXubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj~Xubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j™Xh´MïhjBXubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj&Xubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hj¿Xh]”hŒ Description”…”�”}”(hjÁXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj½Xubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mñhj&Xubhþ)�”}”(hŒ�Must hold rcu_read_lock or the write lock. If an entry exists, last and index are updated accordingly. May set **mas->status** to ma_underflow.”h]”(hŒoMust hold rcu_read_lock or the write lock. If an entry exists, last and index are updated accordingly. May set ”…”�”}”(hjÕXh²hh³Nh´Nubj)�”}”(hŒ**mas->status**”h]”hŒ mas->status”…”�”}”(hjÝXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÕXubhŒ to ma_underflow.”…”�”}”(hjÕXh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mðhj&Xubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjøXh]”hŒReturn”…”�”}”(hjúXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjöXubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Môhj&Xubhþ)�”}”(hŒThe entry or ``NULL``.”h]”(hŒ The entry or ”…”�”}”(hjYh²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjYubhŒ.”…”�”}”(hjYh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mõhj&Xubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_find_range_rev (C function)”Œc.mas_find_range_rev”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒCvoid * mas_find_range_rev (struct ma_state *mas, unsigned long min)”h]”j )�”}”(hŒAvoid *mas_find_range_rev(struct ma_state *mas, unsigned long min)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjOYh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjKYh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^Yh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjKYh²hh³j]Yh´Mubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjlYh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjKYh²hh³j]Yh´Mubj )�”}”(hŒmas_find_range_rev”h]”j )�”}”(hŒmas_find_range_rev”h]”hŒmas_find_range_rev”…”�”}”(hj}Yh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjyYubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjKYh²hh³j]Yh´Mubjà )�”}”(hŒ)(struct ma_state *mas, unsigned long min)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj™Yh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj•Yubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦Yh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj•Yubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj·Yh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj´Yubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j¹YŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jYsbŒc.mas_find_range_rev”†”asbuh1hhj•Yubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×Yh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj•Yubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjåYh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj•Yubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjòYh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj•Yubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj‘Yubjæ )�”}”(hŒunsigned long min”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj Zh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjZubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjZubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj'Zh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjZubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5Zh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjZubj )�”}”(hŒmin”h]”hŒmin”…”�”}”(hjCZh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjZubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj‘Yubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjKYh²hh³j]Yh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjGYh²hh³j]Yh´Mubah}”(h]”jBYah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j]Yh´MhjDYh²hubjI )�”}”(hhh]”hþ)�”}”(hŒ¡On the first call, find the first non-null entry at or below mas->index down to ``min``. Otherwise advance to the previous slot after mas->index down to ``min``.”h]”(hŒPOn the first call, find the first non-null entry at or below mas->index down to ”…”�”}”(hjmZh²hh³Nh´Nubj~)�”}”(hŒ``min``”h]”hŒmin”…”�”}”(hjuZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjmZubhŒB. Otherwise advance to the previous slot after mas->index down to ”…”�”}”(hjmZh²hh³Nh´Nubj~)�”}”(hŒ``min``”h]”hŒmin”…”�”}”(hj‡Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjmZubhŒ.”…”�”}”(hjmZh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhjjZh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjDYh²hh³j]Yh´Mubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j©Zj] j©Zj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX5**Parameters** ``struct ma_state *mas`` The maple state ``unsigned long min`` The minimum value to check. **Description** Must hold rcu_read_lock or the write lock. If an entry exists, last and index are updated accordingly. May set **mas->status** to ma_underflow. **Return** The entry or ``NULL``.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj³Zh]”hŒ Parameters”…”�”}”(hjµZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj±Zubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M hj­Zubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hjÒZh]”hŒstruct ma_state *mas”…”�”}”(hjÔZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÐZubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M hjÌZubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hjëZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jçZh´M hjèZubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÌZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jçZh´M hjÉZubj>)�”}”(hŒ2``unsigned long min`` The minimum value to check. ”h]”(jD)�”}”(hŒ``unsigned long min``”h]”j~)�”}”(hj [h]”hŒunsigned long min”…”�”}”(hj [h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj [ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M hj[ubjT)�”}”(hhh]”hþ)�”}”(hŒThe minimum value to check.”h]”hŒThe minimum value to check.”…”�”}”(hj$[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j [h´M hj![ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j [h´M hjÉZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj­Zubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjF[h]”hŒ Description”…”�”}”(hjH[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjD[ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M hj­Zubhþ)�”}”(hŒ�Must hold rcu_read_lock or the write lock. If an entry exists, last and index are updated accordingly. May set **mas->status** to ma_underflow.”h]”(hŒoMust hold rcu_read_lock or the write lock. If an entry exists, last and index are updated accordingly. May set ”…”�”}”(hj\[h²hh³Nh´Nubj)�”}”(hŒ**mas->status**”h]”hŒ mas->status”…”�”}”(hjd[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\[ubhŒ to ma_underflow.”…”�”}”(hj\[h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M hj­Zubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj[h]”hŒReturn”…”�”}”(hj�[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj}[ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhj­Zubhþ)�”}”(hŒThe entry or ``NULL``.”h]”(hŒ The entry or ”…”�”}”(hj•[h²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj�[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj•[ubhŒ.”…”�”}”(hj•[h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhj­Zubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_erase (C function)”Œ c.mas_erase”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ'void * mas_erase (struct ma_state *mas)”h]”j )�”}”(hŒ%void *mas_erase(struct ma_state *mas)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÖ[h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjÒ[h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjå[h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÒ[h²hh³jä[h´M ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjó[h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjÒ[h²hh³jä[h´M ubj )�”}”(hŒ mas_erase”h]”j )�”}”(hŒ mas_erase”h]”hŒ mas_erase”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj\ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjÒ[h²hh³jä[h´M ubjà )�”}”(hŒ(struct ma_state *mas)”h]”jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj \h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj\ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-\h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj\ubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj>\h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj;\ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j@\Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j\sbŒ c.mas_erase”†”asbuh1hhj\ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^\h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj\ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjl\h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj\ubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjy\h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj\ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj\ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjÒ[h²hh³jä[h´M ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjÎ[h²hh³jä[h´M ubah}”(h]”jÉ[ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jä[h´M hjË[h²hubjI )�”}”(hhh]”hþ)�”}”(hŒAFind the range in which index resides and erase the entire range.”h]”hŒAFind the range in which index resides and erase the entire range.”…”�”}”(hj£\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M hj \h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjË[h²hh³jä[h´M ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j»\j] j»\j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX3**Parameters** ``struct ma_state *mas`` The maple state **Description** Must hold the write lock. Searches for **mas->index**, sets **mas->index** and **mas->last** to the range and erases that range. Note that erase requires allocations and will use GFP_KERNEL | __GFP_NOFAIL to do so if necessary. If the allocation fails, the internal lock will be dropped to retry. An externally locked tree must be protected by a lock that allows blocking for this API. **Return** the entry that was erased or ``NULL``, **mas->index** and **mas->last** are updated.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjÅ\h]”hŒ Parameters”…”�”}”(hjÇ\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÃ\ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M$hj¿\ubj9)�”}”(hhh]”j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hjä\h]”hŒstruct ma_state *mas”…”�”}”(hjæ\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjâ\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M"hjÞ\ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hjý\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jù\h´M"hjú\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÞ\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jù\h´M"hjÛ\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hj¿\ubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hj]h]”hŒ Description”…”�”}”(hj!]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M$hj¿\ubhþ)�”}”(hŒ€Must hold the write lock. Searches for **mas->index**, sets **mas->index** and **mas->last** to the range and erases that range.”h]”(hŒ'Must hold the write lock. Searches for ”…”�”}”(hj5]h²hh³Nh´Nubj)�”}”(hŒ**mas->index**”h]”hŒ mas->index”…”�”}”(hj=]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5]ubhŒ, sets ”…”�”}”(hj5]h²hh³Nh´Nubj)�”}”(hŒ**mas->index**”h]”hŒ mas->index”…”�”}”(hjO]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5]ubhŒ and ”…”�”}”(hj5]h²hh³Nh´Nubj)�”}”(hŒ **mas->last**”h]”hŒ mas->last”…”�”}”(hja]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5]ubhŒ$ to the range and erases that range.”…”�”}”(hj5]h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M#hj¿\ubhþ)�”}”(hXNote that erase requires allocations and will use GFP_KERNEL | __GFP_NOFAIL to do so if necessary. If the allocation fails, the internal lock will be dropped to retry. An externally locked tree must be protected by a lock that allows blocking for this API.”h]”hXNote that erase requires allocations and will use GFP_KERNEL | __GFP_NOFAIL to do so if necessary. If the allocation fails, the internal lock will be dropped to retry. An externally locked tree must be protected by a lock that allows blocking for this API.”…”�”}”(hjz]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M'hj¿\ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj‹]h]”hŒReturn”…”�”}”(hj�]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‰]ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M,hj¿\ubhþ)�”}”(hŒTthe entry that was erased or ``NULL``, **mas->index** and **mas->last** are updated.”h]”(hŒthe entry that was erased or ”…”�”}”(hj¡]h²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj©]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj¡]ubhŒ, ”…”�”}”(hj¡]h²hh³Nh´Nubj)�”}”(hŒ**mas->index**”h]”hŒ mas->index”…”�”}”(hj»]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¡]ubhŒ and ”…”�”}”(hj¡]h²hh³Nh´Nubj)�”}”(hŒ **mas->last**”h]”hŒ mas->last”…”�”}”(hjÍ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¡]ubhŒ are updated.”…”�”}”(hj¡]h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M-hj¿\ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_nomem (C function)”Œ c.mas_nomem”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ0bool mas_nomem (struct ma_state *mas, gfp_t gfp)”h]”j )�”}”(hŒ/bool mas_nomem(struct ma_state *mas, gfp_t gfp)”h]”(j¥ )�”}”(hj¨ h]”hŒbool”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj^h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MQubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj^h²hh³j^h´MQubj )�”}”(hŒ mas_nomem”h]”j )�”}”(hŒ mas_nomem”h]”hŒ mas_nomem”…”�”}”(hj&^h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj"^ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj^h²hh³j^h´MQubjà )�”}”(hŒ!(struct ma_state *mas, gfp_t gfp)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjB^h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj>^ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjO^h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj>^ubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hj`^h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj]^ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jb^Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j(^sbŒ c.mas_nomem”†”asbuh1hhj>^ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€^h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj>^ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjŽ^h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj>^ubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hj›^h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj>^ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj:^ubjæ )�”}”(hŒ gfp_t gfp”h]”(h)�”}”(hhh]”j )�”}”(hŒgfp_t”h]”hŒgfp_t”…”�”}”(hj·^h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj´^ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j¹^Œmodname”NŒ classname”NjC jF )�”}”jI ]”j|^Œ c.mas_nomem”†”asbuh1hhj°^ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕ^h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj°^ubj )�”}”(hŒgfp”h]”hŒgfp”…”�”}”(hjã^h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj°^ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj:^ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj^h²hh³j^h´MQubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjþ]h²hh³j^h´MQubah}”(h]”jù]ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j^h´MQhjû]h²hubjI )�”}”(hhh]”hþ)�”}”(hŒJCheck if there was an error allocating and do the allocation if necessary.”h]”hŒJCheck if there was an error allocating and do the allocation if necessary.”…”�”}”(hj _h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MQhj _h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjû]h²hh³j^h´MQubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j%_j] j%_j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒ»**Parameters** ``struct ma_state *mas`` The maple state ``gfp_t gfp`` The GFP_FLAGS to use for allocations **Return** False on no memory. True otherwise (partial success as well)”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj/_h]”hŒ Parameters”…”�”}”(hj1_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj-_ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MUhj)_ubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hjN_h]”hŒstruct ma_state *mas”…”�”}”(hjP_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjL_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MThjH_ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hjg_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jc_h´MThjd_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjH_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jc_h´MThjE_ubj>)�”}”(hŒ3``gfp_t gfp`` The GFP_FLAGS to use for allocations ”h]”(jD)�”}”(hŒ ``gfp_t gfp``”h]”j~)�”}”(hj‡_h]”hŒ gfp_t gfp”…”�”}”(hj‰_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj…_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MUhj�_ubjT)�”}”(hhh]”hþ)�”}”(hŒ$The GFP_FLAGS to use for allocations”h]”hŒ$The GFP_FLAGS to use for allocations”…”�”}”(hj _h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jœ_h´MUhj�_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj�_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jœ_h´MUhjE_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj)_ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjÂ_h]”hŒReturn”…”�”}”(hjÄ_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÀ_ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MWhj)_ubhþ)�”}”(hŒ=False on no memory. True otherwise (partial success as well)”h]”hŒ=False on no memory. True otherwise (partial success as well)”…”�”}”(hjØ_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MVhj)_ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmas_nomem_nofail (C function)”Œc.mas_nomem_nofail”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒUbool mas_nomem_nofail (struct ma_state *mas, unsigned long index, unsigned long last)”h]”j )�”}”(hŒTbool mas_nomem_nofail(struct ma_state *mas, unsigned long index, unsigned long last)”h]”(j¥ )�”}”(hj¨ h]”hŒbool”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj`h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mxubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj`h²hh³j`h´Mxubj )�”}”(hŒmas_nomem_nofail”h]”j )�”}”(hŒmas_nomem_nofail”h]”hŒmas_nomem_nofail”…”�”}”(hj'`h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj#`ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj`h²hh³j`h´Mxubjà )�”}”(hŒ?(struct ma_state *mas, unsigned long index, unsigned long last)”h]”(jæ )�”}”(hŒstruct ma_state *mas”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjC`h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj?`ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjP`h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj?`ubh)�”}”(hhh]”j )�”}”(hŒma_state”h]”hŒma_state”…”�”}”(hja`h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj^`ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jc`Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j)`sbŒc.mas_nomem_nofail”†”asbuh1hhj?`ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�`h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj?`ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj�`h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj?`ubj )�”}”(hŒmas”h]”hŒmas”…”�”}”(hjœ`h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj?`ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj;`ubjæ )�”}”(hŒunsigned long index”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjµ`h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj±`ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃ`h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj±`ubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjÑ`h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj±`ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjß`h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj±`ubj )�”}”(hŒindex”h]”hŒindex”…”�”}”(hjí`h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj±`ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj;`ubjæ )�”}”(hŒunsigned long last”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjaubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjaubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj"ah²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjaubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0ah²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjaubj )�”}”(hŒlast”h]”hŒlast”…”�”}”(hj>ah²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjaubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj;`ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj`h²hh³j`h´Mxubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjÿ_h²hh³j`h´Mxubah}”(h]”jú_ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j`h´Mxhjü_h²hubjI )�”}”(hhh]”hþ)�”}”(hŒURetry allocations with __GFP_NOFAIL, if the maple state has stored the -ENOMEM error.”h]”hŒURetry allocations with __GFP_NOFAIL, if the maple state has stored the -ENOMEM error.”…”�”}”(hjhah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mxhjeah²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjü_h²hh³j`h´Mxubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j€aj] j€aj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX€**Parameters** ``struct ma_state *mas`` The maple state ``unsigned long index`` The start of the range for the **mas** reset ``unsigned long last`` The end of the range for the **mas** reset **Return** false if **mas** isn't in an -ENOMEM state. True if the allocation happens, the state is reset. The internal lock will be dropped and external locks must allow blocking.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjŠah]”hŒ Parameters”…”�”}”(hjŒah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjˆaubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M|hj„aubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct ma_state *mas`` The maple state ”h]”(jD)�”}”(hŒ``struct ma_state *mas``”h]”j~)�”}”(hj©ah]”hŒstruct ma_state *mas”…”�”}”(hj«ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj§aubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mzhj£aubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple state”h]”hŒThe maple state”…”�”}”(hjÂah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j¾ah´Mzhj¿aubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj£aubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j¾ah´Mzhj aubj>)�”}”(hŒE``unsigned long index`` The start of the range for the **mas** reset ”h]”(jD)�”}”(hŒ``unsigned long index``”h]”j~)�”}”(hjâah]”hŒunsigned long index”…”�”}”(hjäah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjàaubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M{hjÜaubjT)�”}”(hhh]”hþ)�”}”(hŒ,The start of the range for the **mas** reset”h]”(hŒThe start of the range for the ”…”�”}”(hjûah²hh³Nh´Nubj)�”}”(hŒ**mas**”h]”hŒmas”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjûaubhŒ reset”…”�”}”(hjûah²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j÷ah´M{hjøaubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÜaubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j÷ah´M{hj aubj>)�”}”(hŒB``unsigned long last`` The end of the range for the **mas** reset ”h]”(jD)�”}”(hŒ``unsigned long last``”h]”j~)�”}”(hj-bh]”hŒunsigned long last”…”�”}”(hj/bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj+bubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M|hj'bubjT)�”}”(hhh]”hþ)�”}”(hŒ*The end of the range for the **mas** reset”h]”(hŒThe end of the range for the ”…”�”}”(hjFbh²hh³Nh´Nubj)�”}”(hŒ**mas**”h]”hŒmas”…”�”}”(hjNbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjFbubhŒ reset”…”�”}”(hjFbh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jBbh´M|hjCbubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj'bubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jBbh´M|hj aubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj„aubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjzbh]”hŒReturn”…”�”}”(hj|bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjxbubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M~hj„aubhþ)�”}”(hŒ«false if **mas** isn't in an -ENOMEM state. True if the allocation happens, the state is reset. The internal lock will be dropped and external locks must allow blocking.”h]”(hŒ false if ”…”�”}”(hj�bh²hh³Nh´Nubj)�”}”(hŒ**mas**”h]”hŒmas”…”�”}”(hj˜bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�bubhŒ� isn’t in an -ENOMEM state. True if the allocation happens, the state is reset. The internal lock will be dropped and external locks must allow blocking.”…”�”}”(hj�bh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M~hj„aubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmtree_load (C function)”Œ c.mtree_load”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ>void * mtree_load (struct maple_tree *mt, unsigned long index)”h]”j )�”}”(hŒ)�”}”(hŒ)``struct maple_tree *mt`` The maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hj0dh]”hŒstruct maple_tree *mt”…”�”}”(hj2dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj.dubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M¦hj*dubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree”h]”hŒThe maple tree”…”�”}”(hjIdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jEdh´M¦hjFdubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj*dubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jEdh´M¦hj'dubj>)�”}”(hŒ*``unsigned long index`` The index to load ”h]”(jD)�”}”(hŒ``unsigned long index``”h]”j~)�”}”(hjidh]”hŒunsigned long index”…”�”}”(hjkdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjgdubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M§hjcdubjT)�”}”(hhh]”hþ)�”}”(hŒThe index to load”h]”hŒThe index to load”…”�”}”(hj‚dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j~dh´M§hjdubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjcdubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j~dh´M§hj'dubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj dubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj¤dh]”hŒReturn”…”�”}”(hj¦dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¢dubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M©hj dubhþ)�”}”(hŒthe entry or ``NULL``”h]”(hŒ the entry or ”…”�”}”(hjºdh²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjÂdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjºdubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M©hj dubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmtree_store_range (C function)”Œc.mtree_store_range”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒnint mtree_store_range (struct maple_tree *mt, unsigned long index, unsigned long last, void *entry, gfp_t gfp)”h]”j )�”}”(hŒmint mtree_store_range(struct maple_tree *mt, unsigned long index, unsigned long last, void *entry, gfp_t gfp)”h]”(j¥ )�”}”(hŒint”h]”hŒint”…”�”}”(hj÷dh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjódh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MËubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjódh²hh³jeh´MËubj )�”}”(hŒmtree_store_range”h]”j )�”}”(hŒmtree_store_range”h]”hŒmtree_store_range”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjeubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjódh²hh³jeh´MËubjà )�”}”(hŒX(struct maple_tree *mt, unsigned long index, unsigned long last, void *entry, gfp_t gfp)”h]”(jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj4eh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj0eubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAeh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj0eubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hjReh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjOeubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jTeŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jesbŒc.mtree_store_range”†”asbuh1hhj0eubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjreh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj0eubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj€eh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj0eubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hj�eh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj0eubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj,eubjæ )�”}”(hŒunsigned long index”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj¦eh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj¢eubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´eh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj¢eubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjÂeh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj¢eubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐeh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj¢eubj )�”}”(hŒindex”h]”hŒindex”…”�”}”(hjÞeh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj¢eubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj,eubjæ )�”}”(hŒunsigned long last”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj÷eh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjóeubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjóeubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjóeubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!fh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjóeubj )�”}”(hŒlast”h]”hŒlast”…”�”}”(hj/fh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjóeubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj,eubjæ )�”}”(hŒ void *entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjHfh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjDfubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVfh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjDfubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjdfh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjDfubj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hjqfh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjDfubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj,eubjæ )�”}”(hŒ gfp_t gfp”h]”(h)�”}”(hhh]”j )�”}”(hŒgfp_t”h]”hŒgfp_t”…”�”}”(hj�fh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjŠfubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j�fŒmodname”NŒ classname”NjC jF )�”}”jI ]”jneŒc.mtree_store_range”†”asbuh1hhj†fubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«fh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj†fubj )�”}”(hŒgfp”h]”hŒgfp”…”�”}”(hj¹fh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj†fubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj,eubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjódh²hh³jeh´MËubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjïdh²hh³jeh´MËubah}”(h]”jêdah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jeh´MËhjìdh²hubjI )�”}”(hhh]”hþ)�”}”(hŒ Store an entry at a given range.”h]”hŒ Store an entry at a given range.”…”�”}”(hjãfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MËhjàfh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjìdh²hh³jeh´MËubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jûfj] jûfj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hXX**Parameters** ``struct maple_tree *mt`` The maple tree ``unsigned long index`` The start of the range ``unsigned long last`` The end of the range ``void *entry`` The entry to store ``gfp_t gfp`` The GFP_FLAGS to use for allocations **Return** 0 on success, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjgh]”hŒ Parameters”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjgubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÏhjÿfubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct maple_tree *mt`` The maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hj$gh]”hŒstruct maple_tree *mt”…”�”}”(hj&gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj"gubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÌhjgubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree”h]”hŒThe maple tree”…”�”}”(hj=gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j9gh´MÌhj:gubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjgubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j9gh´MÌhjgubj>)�”}”(hŒ/``unsigned long index`` The start of the range ”h]”(jD)�”}”(hŒ``unsigned long index``”h]”j~)�”}”(hj]gh]”hŒunsigned long index”…”�”}”(hj_gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj[gubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÍhjWgubjT)�”}”(hhh]”hþ)�”}”(hŒThe start of the range”h]”hŒThe start of the range”…”�”}”(hjvgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jrgh´MÍhjsgubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjWgubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jrgh´MÍhjgubj>)�”}”(hŒ,``unsigned long last`` The end of the range ”h]”(jD)�”}”(hŒ``unsigned long last``”h]”j~)�”}”(hj–gh]”hŒunsigned long last”…”�”}”(hj˜gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj”gubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÎhj�gubjT)�”}”(hhh]”hþ)�”}”(hŒThe end of the range”h]”hŒThe end of the range”…”�”}”(hj¯gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j«gh´MÎhj¬gubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj�gubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j«gh´MÎhjgubj>)�”}”(hŒ#``void *entry`` The entry to store ”h]”(jD)�”}”(hŒ``void *entry``”h]”j~)�”}”(hjÏgh]”hŒ void *entry”…”�”}”(hjÑgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÍgubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÏhjÉgubjT)�”}”(hhh]”hþ)�”}”(hŒThe entry to store”h]”hŒThe entry to store”…”�”}”(hjègh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jägh´MÏhjågubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÉgubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jägh´MÏhjgubj>)�”}”(hŒ3``gfp_t gfp`` The GFP_FLAGS to use for allocations ”h]”(jD)�”}”(hŒ ``gfp_t gfp``”h]”j~)�”}”(hjhh]”hŒ gfp_t gfp”…”�”}”(hj hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjhubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÐhjhubjT)�”}”(hhh]”hþ)�”}”(hŒ$The GFP_FLAGS to use for allocations”h]”hŒ$The GFP_FLAGS to use for allocations”…”�”}”(hj!hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jhh´MÐhjhubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjhubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jhh´MÐhjgubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjÿfubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjChh]”hŒReturn”…”�”}”(hjEhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjAhubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÒhjÿfubhþ)�”}”(hŒS0 on success, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”h]”hŒS0 on success, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”…”�”}”(hjYhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÒhjÿfubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmtree_store (C function)”Œ c.mtree_store”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒTint mtree_store (struct maple_tree *mt, unsigned long index, void *entry, gfp_t gfp)”h]”j )�”}”(hŒSint mtree_store(struct maple_tree *mt, unsigned long index, void *entry, gfp_t gfp)”h]”(j¥ )�”}”(hŒint”h]”hŒint”…”�”}”(hjˆhh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj„hh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mëubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—hh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj„hh²hh³j–hh´Mëubj )�”}”(hŒ mtree_store”h]”j )�”}”(hŒ mtree_store”h]”hŒ mtree_store”…”�”}”(hj©hh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj¥hubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj„hh²hh³j–hh´Mëubjà )�”}”(hŒD(struct maple_tree *mt, unsigned long index, void *entry, gfp_t gfp)”h]”(jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjÅhh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjÁhubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒhh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÁhubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hjãhh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjàhubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jåhŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j«hsbŒ c.mtree_store”†”asbuh1hhjÁhubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÁhubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjÁhubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÁhubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj½hubjæ )�”}”(hŒunsigned long index”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj7ih²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj3iubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjEih²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj3iubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjSih²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj3iubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjaih²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj3iubj )�”}”(hŒindex”h]”hŒindex”…”�”}”(hjoih²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj3iubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj½hubjæ )�”}”(hŒ void *entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjˆih²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj„iubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–ih²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj„iubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj¤ih²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj„iubj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hj±ih²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj„iubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj½hubjæ )�”}”(hŒ gfp_t gfp”h]”(h)�”}”(hhh]”j )�”}”(hŒgfp_t”h]”hŒgfp_t”…”�”}”(hjÍih²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÊiubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jÏiŒmodname”NŒ classname”NjC jF )�”}”jI ]”jÿhŒ c.mtree_store”†”asbuh1hhjÆiubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëih²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÆiubj )�”}”(hŒgfp”h]”hŒgfp”…”�”}”(hjùih²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÆiubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj½hubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj„hh²hh³j–hh´Mëubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj€hh²hh³j–hh´Mëubah}”(h]”j{hah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j–hh´Mëhj}hh²hubjI )�”}”(hhh]”hþ)�”}”(hŒ Store an entry at a given index.”h]”hŒ Store an entry at a given index.”…”�”}”(hj#jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mëhj jh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj}hh²hh³j–hh´Mëubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j;jj] j;jj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX/**Parameters** ``struct maple_tree *mt`` The maple tree ``unsigned long index`` The index to store the value ``void *entry`` The entry to store ``gfp_t gfp`` The GFP_FLAGS to use for allocations **Return** 0 on success, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjEjh]”hŒ Parameters”…”�”}”(hjGjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjCjubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mïhj?jubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct maple_tree *mt`` The maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hjdjh]”hŒstruct maple_tree *mt”…”�”}”(hjfjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjbjubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mìhj^jubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree”h]”hŒThe maple tree”…”�”}”(hj}jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jyjh´Mìhjzjubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj^jubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jyjh´Mìhj[jubj>)�”}”(hŒ5``unsigned long index`` The index to store the value ”h]”(jD)�”}”(hŒ``unsigned long index``”h]”j~)�”}”(hj�jh]”hŒunsigned long index”…”�”}”(hjŸjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj›jubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Míhj—jubjT)�”}”(hhh]”hþ)�”}”(hŒThe index to store the value”h]”hŒThe index to store the value”…”�”}”(hj¶jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j²jh´Míhj³jubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj—jubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j²jh´Míhj[jubj>)�”}”(hŒ#``void *entry`` The entry to store ”h]”(jD)�”}”(hŒ``void *entry``”h]”j~)�”}”(hjÖjh]”hŒ void *entry”…”�”}”(hjØjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÔjubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MîhjÐjubjT)�”}”(hhh]”hþ)�”}”(hŒThe entry to store”h]”hŒThe entry to store”…”�”}”(hjïjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jëjh´Mîhjìjubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÐjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jëjh´Mîhj[jubj>)�”}”(hŒ3``gfp_t gfp`` The GFP_FLAGS to use for allocations ”h]”(jD)�”}”(hŒ ``gfp_t gfp``”h]”j~)�”}”(hjkh]”hŒ gfp_t gfp”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj kubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mïhj kubjT)�”}”(hhh]”hþ)�”}”(hŒ$The GFP_FLAGS to use for allocations”h]”hŒ$The GFP_FLAGS to use for allocations”…”�”}”(hj(kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j$kh´Mïhj%kubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj kubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j$kh´Mïhj[jubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj?jubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjJkh]”hŒReturn”…”�”}”(hjLkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjHkubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mñhj?jubhþ)�”}”(hŒS0 on success, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”h]”hŒS0 on success, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”…”�”}”(hj`kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mñhj?jubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmtree_insert_range (C function)”Œc.mtree_insert_range”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒoint mtree_insert_range (struct maple_tree *mt, unsigned long first, unsigned long last, void *entry, gfp_t gfp)”h]”j )�”}”(hŒnint mtree_insert_range(struct maple_tree *mt, unsigned long first, unsigned long last, void *entry, gfp_t gfp)”h]”(j¥ )�”}”(hŒint”h]”hŒint”…”�”}”(hj�kh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj‹kh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Müubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjžkh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj‹kh²hh³j�kh´Müubj )�”}”(hŒmtree_insert_range”h]”j )�”}”(hŒmtree_insert_range”h]”hŒmtree_insert_range”…”�”}”(hj°kh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj¬kubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj‹kh²hh³j�kh´Müubjà )�”}”(hŒX(struct maple_tree *mt, unsigned long first, unsigned long last, void *entry, gfp_t gfp)”h]”(jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjÌkh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjÈkubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙkh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÈkubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hjêkh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjçkubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jìkŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j²ksbŒc.mtree_insert_range”†”asbuh1hhjÈkubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj lh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÈkubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjÈkubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hj%lh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÈkubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjÄkubjæ )�”}”(hŒunsigned long first”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj>lh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj:lubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLlh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj:lubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjZlh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj:lubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjhlh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj:lubj )�”}”(hŒfirst”h]”hŒfirst”…”�”}”(hjvlh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj:lubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjÄkubjæ )�”}”(hŒunsigned long last”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj�lh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj‹lubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�lh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj‹lubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj«lh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj‹lubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹lh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj‹lubj )�”}”(hŒlast”h]”hŒlast”…”�”}”(hjÇlh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj‹lubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjÄkubjæ )�”}”(hŒ void *entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjàlh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjÜlubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjîlh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÜlubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjülh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjÜlubj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hj mh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÜlubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjÄkubjæ )�”}”(hŒ gfp_t gfp”h]”(h)�”}”(hhh]”j )�”}”(hŒgfp_t”h]”hŒgfp_t”…”�”}”(hj%mh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj"mubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j'mŒmodname”NŒ classname”NjC jF )�”}”jI ]”jlŒc.mtree_insert_range”†”asbuh1hhjmubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCmh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjmubj )�”}”(hŒgfp”h]”hŒgfp”…”�”}”(hjQmh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjmubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjÄkubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj‹kh²hh³j�kh´Müubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj‡kh²hh³j�kh´Müubah}”(h]”j‚kah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j�kh´Mühj„kh²hubjI )�”}”(hhh]”hþ)�”}”(hŒIInsert an entry from [first, last] at a given range if there is no value.”h]”hŒIInsert an entry from [first, last] at a given range if there is no value.”…”�”}”(hj{mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mühjxmh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj„kh²hh³j�kh´Müubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j“mj] j“mj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hXç**Parameters** ``struct maple_tree *mt`` The maple tree ``unsigned long first`` The start of the range ``unsigned long last`` The end of the range (inclusive) ``void *entry`` The entry to store ``gfp_t gfp`` The GFP_FLAGS to use for allocations. **Description** Note that **last** is inclusive. That is, **last** = **first** + length - 1; **Return** 0 on success, -EEXISTS if the range is occupied, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj�mh]”hŒ Parameters”…”�”}”(hjŸmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj›mubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhj—mubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct maple_tree *mt`` The maple tree ”h•]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hj¼mh]”hŒstruct maple_tree *mt”…”�”}”(hj¾mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjºmubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mþhj¶mubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree”h]”hŒThe maple tree”…”�”}”(hjÕmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jÑmh´MþhjÒmubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¶mubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jÑmh´Mþhj³mubj>)�”}”(hŒ/``unsigned long first`` The start of the range ”h]”(jD)�”}”(hŒ``unsigned long first``”h]”j~)�”}”(hjõmh]”hŒunsigned long first”…”�”}”(hj÷mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjómubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÿhjïmubjT)�”}”(hhh]”hþ)�”}”(hŒThe start of the range”h]”hŒThe start of the range”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j nh´Mÿhj nubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjïmubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j nh´Mÿhj³mubj>)�”}”(hŒ8``unsigned long last`` The end of the range (inclusive) ”h]”(jD)�”}”(hŒ``unsigned long last``”h]”j~)�”}”(hj.nh]”hŒunsigned long last”…”�”}”(hj0nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj,nubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhj(nubjT)�”}”(hhh]”hþ)�”}”(hŒ The end of the range (inclusive)”h]”hŒ The end of the range (inclusive)”…”�”}”(hjGnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jCnh´MhjDnubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj(nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jCnh´Mhj³mubj>)�”}”(hŒ#``void *entry`` The entry to store ”h]”(jD)�”}”(hŒ``void *entry``”h]”j~)�”}”(hjgnh]”hŒ void *entry”…”�”}”(hjinh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjenubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhjanubjT)�”}”(hhh]”hþ)�”}”(hŒThe entry to store”h]”hŒThe entry to store”…”�”}”(hj€nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j|nh´Mhj}nubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjanubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j|nh´Mhj³mubj>)�”}”(hŒ4``gfp_t gfp`` The GFP_FLAGS to use for allocations. ”h]”(jD)�”}”(hŒ ``gfp_t gfp``”h]”j~)�”}”(hj nh]”hŒ gfp_t gfp”…”�”}”(hj¢nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjžnubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhjšnubjT)�”}”(hhh]”hþ)�”}”(hŒ%The GFP_FLAGS to use for allocations.”h]”hŒ%The GFP_FLAGS to use for allocations.”…”�”}”(hj¹nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jµnh´Mhj¶nubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjšnubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jµnh´Mhj³mubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj—mubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjÛnh]”hŒ Description”…”�”}”(hjÝnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÙnubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhj—mubhþ)�”}”(hŒLNote that **last** is inclusive. That is, **last** = **first** + length - 1;”h]”(hŒ Note that ”…”�”}”(hjñnh²hh³Nh´Nubj)�”}”(hŒ**last**”h]”hŒlast”…”�”}”(hjùnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjñnubhŒ is inclusive. That is, ”…”�”}”(hjñnh²hh³Nh´Nubj)�”}”(hŒ**last**”h]”hŒlast”…”�”}”(hj oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjñnubhŒ = ”…”�”}”(hjñnh²hh³Nh´Nubj)�”}”(hŒ **first**”h]”hŒfirst”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjñnubhŒ + length - 1;”…”�”}”(hjñnh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhj—mubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj8oh]”hŒReturn”…”�”}”(hj:oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj6oubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhj—mubhþ)�”}”(hŒv0 on success, -EEXISTS if the range is occupied, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”h]”hŒv0 on success, -EEXISTS if the range is occupied, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”…”�”}”(hjNoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhj—mubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmtree_insert (C function)”Œc.mtree_insert”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒUint mtree_insert (struct maple_tree *mt, unsigned long index, void *entry, gfp_t gfp)”h]”j )�”}”(hŒTint mtree_insert(struct maple_tree *mt, unsigned long index, void *entry, gfp_t gfp)”h]”(j¥ )�”}”(hŒint”h]”hŒint”…”�”}”(hj}oh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjyoh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M%ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒoh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjyoh²hh³j‹oh´M%ubj )�”}”(hŒ mtree_insert”h]”j )�”}”(hŒ mtree_insert”h]”hŒ mtree_insert”…”�”}”(hjžoh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjšoubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjyoh²hh³j‹oh´M%ubjà )�”}”(hŒD(struct maple_tree *mt, unsigned long index, void *entry, gfp_t gfp)”h]”(jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjºoh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj¶oubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇoh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj¶oubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hjØoh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÕoubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jÚoŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j osbŒc.mtree_insert”†”asbuh1hhj¶oubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjøoh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj¶oubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj¶oubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj¶oubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj²oubjæ )�”}”(hŒunsigned long index”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj,ph²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj(pubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:ph²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj(pubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjHph²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj(pubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVph²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj(pubj )�”}”(hŒindex”h]”hŒindex”…”�”}”(hjdph²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj(pubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj²oubjæ )�”}”(hŒ void *entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj}ph²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjypubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹ph²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjypubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj™ph²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjypubj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hj¦ph²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjypubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj²oubjæ )�”}”(hŒ gfp_t gfp”h]”(h)�”}”(hhh]”j )�”}”(hŒgfp_t”h]”hŒgfp_t”…”�”}”(hjÂph²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj¿pubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jÄpŒmodname”NŒ classname”NjC jF )�”}”jI ]”jôoŒc.mtree_insert”†”asbuh1hhj»pubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjàph²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj»pubj )�”}”(hŒgfp”h]”hŒgfp”…”�”}”(hjîph²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj»pubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj²oubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjyoh²hh³j‹oh´M%ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjuoh²hh³j‹oh´M%ubah}”(h]”jpoah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j‹oh´M%hjroh²hubjI )�”}”(hhh]”hþ)�”}”(hŒ6Insert an entry at a given index if there is no value.”h]”hŒ6Insert an entry at a given index if there is no value.”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M%hjqh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjroh²hh³j‹oh´M%ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j0qj] j0qj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hXS**Parameters** ``struct maple_tree *mt`` The maple tree ``unsigned long index`` The index to store the value ``void *entry`` The entry to store ``gfp_t gfp`` The GFP_FLAGS to use for allocations. **Return** 0 on success, -EEXISTS if the range is occupied, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj:qh]”hŒ Parameters”…”�”}”(hj)�”}”(hŒ)``struct maple_tree *mt`` The maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hjYqh]”hŒstruct maple_tree *mt”…”�”}”(hj[qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjWqubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M&hjSqubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree”h]”hŒThe maple tree”…”�”}”(hjrqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jnqh´M&hjoqubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjSqubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jnqh´M&hjPqubj>)�”}”(hŒ5``unsigned long index`` The index to store the value ”h]”(jD)�”}”(hŒ``unsigned long index``”h]”j~)�”}”(hj’qh]”hŒunsigned long index”…”�”}”(hj”qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj�qubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M'hjŒqubjT)�”}”(hhh]”hþ)�”}”(hŒThe index to store the value”h]”hŒThe index to store the value”…”�”}”(hj«qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j§qh´M'hj¨qubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjŒqubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j§qh´M'hjPqubj>)�”}”(hŒ#``void *entry`` The entry to store ”h]”(jD)�”}”(hŒ``void *entry``”h]”j~)�”}”(hjËqh]”hŒ void *entry”…”�”}”(hjÍqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÉqubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M(hjÅqubjT)�”}”(hhh]”hþ)�”}”(hŒThe entry to store”h]”hŒThe entry to store”…”�”}”(hjäqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jàqh´M(hjáqubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÅqubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jàqh´M(hjPqubj>)�”}”(hŒ4``gfp_t gfp`` The GFP_FLAGS to use for allocations. ”h]”(jD)�”}”(hŒ ``gfp_t gfp``”h]”j~)�”}”(hjrh]”hŒ gfp_t gfp”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjrubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M)hjþqubjT)�”}”(hhh]”hþ)�”}”(hŒ%The GFP_FLAGS to use for allocations.”h]”hŒ%The GFP_FLAGS to use for allocations.”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jrh´M)hjrubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjþqubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jrh´M)hjPqubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj4qubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj?rh]”hŒReturn”…”�”}”(hjArh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj=rubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M+hj4qubhþ)�”}”(hŒv0 on success, -EEXISTS if the range is occupied, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”h]”hŒv0 on success, -EEXISTS if the range is occupied, -EINVAL on invalid request, -ENOMEM if memory could not be allocated.”…”�”}”(hjUrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M+hj4qubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmtree_alloc_cyclic (C function)”Œc.mtree_alloc_cyclic”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ¢int mtree_alloc_cyclic (struct maple_tree *mt, unsigned long *startp, void *entry, unsigned long range_lo, unsigned long range_hi, unsigned long *next, gfp_t gfp)”h]”j )�”}”(hŒ¡int mtree_alloc_cyclic(struct maple_tree *mt, unsigned long *startp, void *entry, unsigned long range_lo, unsigned long range_hi, unsigned long *next, gfp_t gfp)”h]”(j¥ )�”}”(hŒint”h]”hŒint”…”�”}”(hj„rh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj€rh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M]ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“rh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj€rh²hh³j’rh´M]ubj )�”}”(hŒmtree_alloc_cyclic”h]”j )�”}”(hŒmtree_alloc_cyclic”h]”hŒmtree_alloc_cyclic”…”�”}”(hj¥rh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj¡rubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj€rh²hh³j’rh´M]ubjà )�”}”(hŒ‹(struct maple_tree *mt, unsigned long *startp, void *entry, unsigned long range_lo, unsigned long range_hi, unsigned long *next, gfp_t gfp)”h]”(jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjÁrh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj½rubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎrh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj½rubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hjßrh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÜrubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”járŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j§rsbŒc.mtree_alloc_cyclic”†”asbuh1hhj½rubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿrh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj½rubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj sh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj½rubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj½rubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj¹rubjæ )�”}”(hŒunsigned long *startp”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj3sh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj/subj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAsh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj/subj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjOsh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj/subj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]sh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj/subj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjksh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj/subj )�”}”(hŒstartp”h]”hŒstartp”…”�”}”(hjxsh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj/subeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj¹rubjæ )�”}”(hŒ void *entry”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj‘sh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj�subj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸsh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj�subj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj­sh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj�subj )�”}”(hŒentry”h]”hŒentry”…”�”}”(hjºsh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj�subeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj¹rubjæ )�”}”(hŒunsigned long range_lo”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÓsh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjÏsubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjásh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÏsubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjïsh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjÏsubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjýsh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÏsubj )�”}”(hŒrange_lo”h]”hŒrange_lo”…”�”}”(hj th²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÏsubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj¹rubjæ )�”}”(hŒunsigned long range_hi”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj$th²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj tubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2th²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj tubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj@th²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj tubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNth²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj tubj )�”}”(hŒrange_hi”h]”hŒrange_hi”…”�”}”(hj\th²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj tubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj¹rubjæ )�”}”(hŒunsigned long *next”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjuth²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjqtubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjƒth²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjqtubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj‘th²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjqtubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸth²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjqtubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj­th²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjqtubj )�”}”(hŒnext”h]”hŒnext”…”�”}”(hjºth²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjqtubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj¹rubjæ )�”}”(hŒ gfp_t gfp”h]”(h)�”}”(hhh]”j )�”}”(hŒgfp_t”h]”hŒgfp_t”…”�”}”(hjÖth²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÓtubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jØtŒmodname”NŒ classname”NjC jF )�”}”jI ]”jûrŒc.mtree_alloc_cyclic”†”asbuh1hhjÏtubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjôth²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÏtubj )�”}”(hŒgfp”h]”hŒgfp”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÏtubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj¹rubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj€rh²hh³j’rh´M]ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj|rh²hh³j’rh´M]ubah}”(h]”jwrah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j’rh´M]hjyrh²hubjI )�”}”(hhh]”hþ)�”}”(hŒ/Find somewhere to store this entry in the tree.”h]”hŒ/Find somewhere to store this entry in the tree.”…”�”}”(hj,uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M]hj)uh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjyrh²hh³j’rh´M]ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jDuj] jDuj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX¥**Parameters** ``struct maple_tree *mt`` The maple tree. ``unsigned long *startp`` Pointer to ID. ``void *entry`` The entry to store. ``unsigned long range_lo`` Lower bound of range to search. ``unsigned long range_hi`` Upper bound of range to search. ``unsigned long *next`` Pointer to next ID to allocate. ``gfp_t gfp`` The GFP_FLAGS to use for allocations. **Description** Finds an empty entry in **mt** after **next**, stores the new index into the **id** pointer, stores the entry at that index, then updates **next**. **mt** must be initialized with the MT_FLAGS_ALLOC_RANGE flag. **Context** Any context. Takes and releases the mt.lock. May sleep if the **gfp** flags permit. **Return** 0 if the allocation succeeded without wrapping, 1 if the allocation succeeded after wrapping, -ENOMEM if memory could not be allocated, -EINVAL if **mt** cannot be used, or -EBUSY if there are no free entries.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjNuh]”hŒ Parameters”…”�”}”(hjPuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjLuubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MahjHuubj9)�”}”(hhh]”(j>)�”}”(hŒ*``struct maple_tree *mt`` The maple tree. ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hjmuh]”hŒstruct maple_tree *mt”…”�”}”(hjouh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjkuubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M^hjguubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree.”h]”hŒThe maple tree.”…”�”}”(hj†uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j‚uh´M^hjƒuubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjguubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j‚uh´M^hjduubj>)�”}”(hŒ)``unsigned long *startp`` Pointer to ID. ”h]”(jD)�”}”(hŒ``unsigned long *startp``”h]”j~)�”}”(hj¦uh]”hŒunsigned long *startp”…”�”}”(hj¨uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj¤uubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M_hj uubjT)�”}”(hhh]”hþ)�”}”(hŒPointer to ID.”h]”hŒPointer to ID.”…”�”}”(hj¿uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j»uh´M_hj¼uubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj uubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j»uh´M_hjduubj>)�”}”(hŒ$``void *entry`` The entry to store. ”h]”(jD)�”}”(hŒ``void *entry``”h]”j~)�”}”(hjßuh]”hŒ void *entry”…”�”}”(hjáuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÝuubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MbhjÙuubjT)�”}”(hhh]”hþ)�”}”(hŒThe entry to store.”h]”hŒThe entry to store.”…”�”}”(hjøuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jôuh´Mbhjõuubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjÙuubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jôuh´Mbhjduubj>)�”}”(hŒ;``unsigned long range_lo`` Lower bound of range to search. ”h]”(jD)�”}”(hŒ``unsigned long range_lo``”h]”j~)�”}”(hjvh]”hŒunsigned long range_lo”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjvubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M`hjvubjT)�”}”(hhh]”hþ)�”}”(hŒLower bound of range to search.”h]”hŒLower bound of range to search.”…”�”}”(hj1vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j-vh´M`hj.vubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjvubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j-vh´M`hjduubj>)�”}”(hŒ;``unsigned long range_hi`` Upper bound of range to search. ”h]”(jD)�”}”(hŒ``unsigned long range_hi``”h]”j~)�”}”(hjQvh]”hŒunsigned long range_hi”…”�”}”(hjSvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjOvubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MahjKvubjT)�”}”(hhh]”hþ)�”}”(hŒUpper bound of range to search.”h]”hŒUpper bound of range to search.”…”�”}”(hjjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jfvh´Mahjgvubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjKvubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jfvh´Mahjduubj>)�”}”(hŒ8``unsigned long *next`` Pointer to next ID to allocate. ”h]”(jD)�”}”(hŒ``unsigned long *next``”h]”j~)�”}”(hjŠvh]”hŒunsigned long *next”…”�”}”(hjŒvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjˆvubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mchj„vubjT)�”}”(hhh]”hþ)�”}”(hŒPointer to next ID to allocate.”h]”hŒPointer to next ID to allocate.”…”�”}”(hj£vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jŸvh´Mchj vubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj„vubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jŸvh´Mchjduubj>)�”}”(hŒ4``gfp_t gfp`` The GFP_FLAGS to use for allocations. ”h]”(jD)�”}”(hŒ ``gfp_t gfp``”h]”j~)�”}”(hjÃvh]”hŒ gfp_t gfp”…”�”}”(hjÅvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjÁvubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mdhj½vubjT)�”}”(hhh]”hþ)�”}”(hŒ%The GFP_FLAGS to use for allocations.”h]”hŒ%The GFP_FLAGS to use for allocations.”…”�”}”(hjÜvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jØvh´MdhjÙvubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj½vubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jØvh´Mdhjduubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjHuubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjþvh]”hŒ Description”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjüvubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MfhjHuubhþ)�”}”(hŒ“Finds an empty entry in **mt** after **next**, stores the new index into the **id** pointer, stores the entry at that index, then updates **next**.”h]”(hŒFinds an empty entry in ”…”�”}”(hjwh²hh³Nh´Nubj)�”}”(hŒ**mt**”h]”hŒmt”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjwubhŒ after ”…”�”}”(hjwh²hh³Nh´Nubj)�”}”(hŒ**next**”h]”hŒnext”…”�”}”(hj.wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjwubhŒ , stores the new index into the ”…”�”}”(hjwh²hh³Nh´Nubj)�”}”(hŒ**id**”h]”hŒid”…”�”}”(hj@wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjwubhŒ7 pointer, stores the entry at that index, then updates ”…”�”}”(hjwh²hh³Nh´Nubj)�”}”(hŒ**next**”h]”hŒnext”…”�”}”(hjRwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjwubhŒ.”…”�”}”(hjwh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MehjHuubhþ)�”}”(hŒ>**mt** must be initialized with the MT_FLAGS_ALLOC_RANGE flag.”h]”(j)�”}”(hŒ**mt**”h]”hŒmt”…”�”}”(hjowh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjkwubhŒ8 must be initialized with the MT_FLAGS_ALLOC_RANGE flag.”…”�”}”(hjkwh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhhjHuubhþ)�”}”(hŒ **Context**”h]”j)�”}”(hjŠwh]”hŒContext”…”�”}”(hjŒwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjˆwubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MjhjHuubhþ)�”}”(hŒUAny context. Takes and releases the mt.lock. May sleep if the **gfp** flags permit.”h]”(hŒ@Any context. Takes and releases the mt.lock. May sleep if the ”…”�”}”(hj wh²hh³Nh´Nubj)�”}”(hŒ**gfp**”h]”hŒgfp”…”�”}”(hj¨wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj wubhŒ flags permit.”…”�”}”(hj wh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MkhjHuubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjÃwh]”hŒReturn”…”�”}”(hjÅwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÁwubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MnhjHuubhþ)�”}”(hŒÑ0 if the allocation succeeded without wrapping, 1 if the allocation succeeded after wrapping, -ENOMEM if memory could not be allocated, -EINVAL if **mt** cannot be used, or -EBUSY if there are no free entries.”h]”(hŒ“0 if the allocation succeeded without wrapping, 1 if the allocation succeeded after wrapping, -ENOMEM if memory could not be allocated, -EINVAL if ”…”�”}”(hjÙwh²hh³Nh´Nubj)�”}”(hŒ**mt**”h]”hŒmt”…”�”}”(hjáwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÙwubhŒ8 cannot be used, or -EBUSY if there are no free entries.”…”�”}”(hjÙwh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MnhjHuubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmtree_erase (C function)”Œ c.mtree_erase”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ?void * mtree_erase (struct maple_tree *mt, unsigned long index)”h]”j )�”}”(hŒ=void *mtree_erase(struct maple_tree *mt, unsigned long index)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjxh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M¯ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)xh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjxh²hh³j(xh´M¯ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj7xh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjxh²hh³j(xh´M¯ubj )�”}”(hŒ mtree_erase”h]”j )�”}”(hŒ mtree_erase”h]”hŒ mtree_erase”…”�”}”(hjHxh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjDxubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjxh²hh³j(xh´M¯ubjà )�”}”(hŒ,(struct maple_tree *mt, unsigned long index)”h]”(jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjdxh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj`xubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqxh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj`xubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hj‚xh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjxubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j„xŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jJxsbŒ c.mtree_erase”†”asbuh1hhj`xubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢xh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj`xubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj°xh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj`xubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hj½xh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj`xubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj\xubjæ )�”}”(hŒunsigned long index”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÖxh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjÒxubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjäxh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÒxubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjòxh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjÒxubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÒxubj )�”}”(hŒindex”h]”hŒindex”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÒxubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj\xubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjxh²hh³j(xh´M¯ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjxh²hh³j(xh´M¯ubah}”(h]”j xah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j(xh´M¯hjxh²hubjI )�”}”(hhh]”hþ)�”}”(hŒ)Find an index and erase the entire range.”h]”hŒ)Find an index and erase the entire range.”…”�”}”(hj8yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M¯hj5yh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjxh²hh³j(xh´M¯ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jPyj] jPyj^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hXò**Parameters** ``struct maple_tree *mt`` The maple tree ``unsigned long index`` The index to erase **Description** Erasing is the same as a walk to an entry then a store of a NULL to that ENTIRE range. In fact, it is implemented as such using the advanced API. Note that erase requires allocations and will use GFP_KERNEL | __GFP_NOFAIL to do so if necessary. If the allocation fails, the internal lock will be dropped to retry. **Return** The entry stored at the **index** or ``NULL``”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjZyh]”hŒ Parameters”…”�”}”(hj\yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjXyubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M³hjTyubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct maple_tree *mt`` The maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hjyyh]”hŒstruct maple_tree *mt”…”�”}”(hj{yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjwyubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M°hjsyubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree”h]”hŒThe maple tree”…”�”}”(hj’yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jŽyh´M°hj�yubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjsyubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jŽyh´M°hjpyubj>)�”}”(hŒ+``unsigned long index`` The index to erase ”h]”(jD)�”}”(hŒ``unsigned long index``”h]”j~)�”}”(hj²yh]”hŒunsigned long index”…”�”}”(hj´yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj°yubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M±hj¬yubjT)�”}”(hhh]”hþ)�”}”(hŒThe index to erase”h]”hŒThe index to erase”…”�”}”(hjËyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jÇyh´M±hjÈyubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¬yubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jÇyh´M±hjpyubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjTyubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjíyh]”hŒ Description”…”�”}”(hjïyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjëyubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M³hjTyubhþ)�”}”(hŒ’Erasing is the same as a walk to an entry then a store of a NULL to that ENTIRE range. In fact, it is implemented as such using the advanced API.”h]”hŒ’Erasing is the same as a walk to an entry then a store of a NULL to that ENTIRE range. In fact, it is implemented as such using the advanced API.”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M²hjTyubhþ)�”}”(hŒ¨Note that erase requires allocations and will use GFP_KERNEL | __GFP_NOFAIL to do so if necessary. If the allocation fails, the internal lock will be dropped to retry.”h]”hŒ¨Note that erase requires allocations and will use GFP_KERNEL | __GFP_NOFAIL to do so if necessary. If the allocation fails, the internal lock will be dropped to retry.”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MµhjTyubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj#zh]”hŒReturn”…”�”}”(hj%zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj!zubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M¹hjTyubhþ)�”}”(hŒ-The entry stored at the **index** or ``NULL``”h]”(hŒThe entry stored at the ”…”�”}”(hj9zh²hh³Nh´Nubj)�”}”(hŒ **index**”h]”hŒindex”…”�”}”(hjAzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj9zubhŒ or ”…”�”}”(hj9zh²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjSzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj9zubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MºhjTyubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ__mt_dup (C function)”Œ c.__mt_dup”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒGint __mt_dup (struct maple_tree *mt, struct maple_tree *new, gfp_t gfp)”h]”j )�”}”(hŒFint __mt_dup(struct maple_tree *mt, struct maple_tree *new, gfp_t gfp)”h]”(j¥ )�”}”(hŒint”h]”hŒint”…”�”}”(hjˆzh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj„zh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M”ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—zh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj„zh²hh³j–zh´M”ubj )�”}”(hŒ__mt_dup”h]”j )�”}”(hŒ__mt_dup”h]”hŒ__mt_dup”…”�”}”(hj©zh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj¥zubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj„zh²hh³j–zh´M”ubjà )�”}”(hŒ:(struct maple_tree *mt, struct maple_tree *new, gfp_t gfp)”h]”(jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjÅzh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjÁzubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒzh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÁzubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hjãzh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjàzubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jåzŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j«zsbŒ c.__mt_dup”†”asbuh1hhjÁzubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjÁzubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjÁzubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÁzubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj½zubjæ )�”}”(hŒstruct maple_tree *new”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj7{h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj3{ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjD{h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj3{ubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hjU{h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjR{ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”jW{Œmodname”NŒ classname”NjC jF )�”}”jI ]”jÿzŒ c.__mt_dup”†”asbuh1hhj3{ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs{h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj3{ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj�{h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj3{ubj )�”}”(hŒnew”h]”hŒnew”…”�”}”(hjŽ{h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj3{ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj½zubjæ )�”}”(hŒ gfp_t gfp”h]”(h)�”}”(hhh]”j )�”}”(hŒgfp_t”h]”hŒgfp_t”…”�”}”(hjª{h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj§{ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j¬{Œmodname”NŒ classname”NjC jF )�”}”jI ]”jÿzŒ c.__mt_dup”†”asbuh1hhj£{ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈ{h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj£{ubj )�”}”(hŒgfp”h]”hŒgfp”…”�”}”(hjÖ{h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj£{ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj½zubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj„zh²hh³j–zh´M”ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj€zh²hh³j–zh´M”ubah}”(h]”j{zah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j–zh´M”hj}zh²hubjI )�”}”(hhh]”hþ)�”}”(hŒDuplicate an entire maple tree”h]”hŒDuplicate an entire maple tree”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M”hjý{h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj}zh²hh³j–zh´M”ubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j|j] j|j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hXä**Parameters** ``struct maple_tree *mt`` The source maple tree ``struct maple_tree *new`` The new maple tree ``gfp_t gfp`` The GFP_FLAGS to use for allocations **Description** This function duplicates a maple tree in Depth-First Search (DFS) pre-order traversal. It uses memcpy() to copy nodes in the source tree and allocate new child nodes in non-leaf nodes. The new node is exactly the same as the source node except for all the addresses stored in it. It will be faster than traversing all elements in the source tree and inserting them one by one into the new tree. The user needs to ensure that the attributes of the source tree and the new tree are the same, and the new tree needs to be an empty tree, otherwise -EINVAL will be returned. Note that the user needs to manually lock the source tree and the new tree. **Return** 0 on success, -ENOMEM if memory could not be allocated, -EINVAL If the attributes of the two trees are different or the new tree is not an empty tree.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj"|h]”hŒ Parameters”…”�”}”(hj$|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj |ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M˜hj|ubj9)�”}”(hhh]”(j>)�”}”(hŒ0``struct maple_tree *mt`` The source maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hjA|h]”hŒstruct maple_tree *mt”…”�”}”(hjC|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj?|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M•hj;|ubjT)�”}”(hhh]”hþ)�”}”(hŒThe source maple tree”h]”hŒThe source maple tree”…”�”}”(hjZ|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jV|h´M•hjW|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj;|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jV|h´M•hj8|ubj>)�”}”(hŒ.``struct maple_tree *new`` The new maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *new``”h]”j~)�”}”(hjz|h]”hŒstruct maple_tree *new”…”�”}”(hj||h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjx|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M–hjt|ubjT)�”}”(hhh]”hþ)�”}”(hŒThe new maple tree”h]”hŒThe new maple tree”…”�”}”(hj“|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j�|h´M–hj�|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjt|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j�|h´M–hj8|ubj>)�”}”(hŒ3``gfp_t gfp`` The GFP_FLAGS to use for allocations ”h]”(jD)�”}”(hŒ ``gfp_t gfp``”h]”j~)�”}”(hj³|h]”hŒ gfp_t gfp”…”�”}”(hjµ|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj±|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M—hj­|ubjT)�”}”(hhh]”hþ)�”}”(hŒ$The GFP_FLAGS to use for allocations”h]”hŒ$The GFP_FLAGS to use for allocations”…”�”}”(hjÌ|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jÈ|h´M—hjÉ|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj­|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jÈ|h´M—hj8|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj|ubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjî|h]”hŒ Description”…”�”}”(hjð|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjì|ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M™hj|ubhþ)�”}”(hX…This function duplicates a maple tree in Depth-First Search (DFS) pre-order traversal. It uses memcpy() to copy nodes in the source tree and allocate new child nodes in non-leaf nodes. The new node is exactly the same as the source node except for all the addresses stored in it. It will be faster than traversing all elements in the source tree and inserting them one by one into the new tree. The user needs to ensure that the attributes of the source tree and the new tree are the same, and the new tree needs to be an empty tree, otherwise -EINVAL will be returned. Note that the user needs to manually lock the source tree and the new tree.”h]”hX…This function duplicates a maple tree in Depth-First Search (DFS) pre-order traversal. It uses memcpy() to copy nodes in the source tree and allocate new child nodes in non-leaf nodes. The new node is exactly the same as the source node except for all the addresses stored in it. It will be faster than traversing all elements in the source tree and inserting them one by one into the new tree. The user needs to ensure that the attributes of the source tree and the new tree are the same, and the new tree needs to be an empty tree, otherwise -EINVAL will be returned. Note that the user needs to manually lock the source tree and the new tree.”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M˜hj|ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj}h]”hŒReturn”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M£hj|ubhþ)�”}”(hŒ–0 on success, -ENOMEM if memory could not be allocated, -EINVAL If the attributes of the two trees are different or the new tree is not an empty tree.”h]”hŒ–0 on success, -ENOMEM if memory could not be allocated, -EINVAL If the attributes of the two trees are different or the new tree is not an empty tree.”…”�”}”(hj+}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M¤hj|ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmtree_dup (C function)”Œ c.mtree_dup”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒHint mtree_dup (struct maple_tree *mt, struct maple_tree *new, gfp_t gfp)”h]”j )�”}”(hŒGint mtree_dup(struct maple_tree *mt, struct maple_tree *new, gfp_t gfp)”h]”(j¥ )�”}”(hŒint”h]”hŒint”…”�”}”(hjZ}h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjV}h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mºubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hji}h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjV}h²hh³jh}h´Mºubj )�”}”(hŒ mtree_dup”h]”j )�”}”(hŒ mtree_dup”h]”hŒ mtree_dup”…”�”}”(hj{}h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjw}ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjV}h²hh³jh}h´Mºubjà )�”}”(hŒ:(struct maple_tree *mt, struct maple_tree *new, gfp_t gfp)”h]”(jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj—}h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj“}ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤}h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj“}ubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hjµ}h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj²}ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j·}Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j}}sbŒ c.mtree_dup”†”asbuh1hhj“}ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕ}h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj“}ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjã}h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj“}ubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hjð}h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj“}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj�}ubjæ )�”}”(hŒstruct maple_tree *new”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj ~h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj~ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj~ubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hj'~h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj$~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j)~Œmodname”NŒ classname”NjC jF )�”}”jI ]”jÑ}Œ c.mtree_dup”†”asbuh1hhj~ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjE~h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj~ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjS~h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj~ubj )�”}”(hŒnew”h]”hŒnew”…”�”}”(hj`~h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj~ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj�}ubjæ )�”}”(hŒ gfp_t gfp”h]”(h)�”}”(hhh]”j )�”}”(hŒgfp_t”h]”hŒgfp_t”…”�”}”(hj|~h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjy~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j~~Œmodname”NŒ classname”NjC jF )�”}”jI ]”jÑ}Œ c.mtree_dup”†”asbuh1hhju~ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjš~h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hju~ubj )�”}”(hŒgfp”h]”hŒgfp”…”�”}”(hj¨~h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hju~ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj�}ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjV}h²hh³jh}h´Mºubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hjR}h²hh³jh}h´Mºubah}”(h]”jM}ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jh}h´MºhjO}h²hubjI )�”}”(hhh]”hþ)�”}”(hŒDuplicate an entire maple tree”h]”hŒDuplicate an entire maple tree”…”�”}”(hjÒ~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MºhjÏ~h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hjO}h²hh³jh}h´Mºubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jê~j] jê~j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX˜**Parameters** ``struct maple_tree *mt`` The source maple tree ``struct maple_tree *new`` The new maple tree ``gfp_t gfp`` The GFP_FLAGS to use for allocations **Description** This function duplicates a maple tree in Depth-First Search (DFS) pre-order traversal. It uses memcpy() to copy nodes in the source tree and allocate new child nodes in non-leaf nodes. The new node is exactly the same as the source node except for all the addresses stored in it. It will be faster than traversing all elements in the source tree and inserting them one by one into the new tree. The user needs to ensure that the attributes of the source tree and the new tree are the same, and the new tree needs to be an empty tree, otherwise -EINVAL will be returned. **Return** 0 on success, -ENOMEM if memory could not be allocated, -EINVAL If the attributes of the two trees are different or the new tree is not an empty tree.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjô~h]”hŒ Parameters”…”�”}”(hjö~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjò~ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M¾hjî~ubj9)�”}”(hhh]”(j>)�”}”(hŒ0``struct maple_tree *mt`` The source maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hjh]”hŒstruct maple_tree *mt”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M»hj ubjT)�”}”(hhh]”hþ)�”}”(hŒThe source maple tree”h]”hŒThe source maple tree”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j(h´M»hj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j(h´M»hj ubj>)�”}”(hŒ.``struct maple_tree *new`` The new maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *new``”h]”j~)�”}”(hjLh]”hŒstruct maple_tree *new”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjJubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M¼hjFubjT)�”}”(hhh]”hþ)�”}”(hŒThe new maple tree”h]”hŒThe new maple tree”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jah´M¼hjbubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjFubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jah´M¼hj ubj>)�”}”(hŒ3``gfp_t gfp`` The GFP_FLAGS to use for allocations ”h]”(jD)�”}”(hŒ ``gfp_t gfp``”h]”j~)�”}”(hj…h]”hŒ gfp_t gfp”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M½hjubjT)�”}”(hhh]”hþ)�”}”(hŒ$The GFP_FLAGS to use for allocations”h]”hŒ$The GFP_FLAGS to use for allocations”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jšh´M½hj›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jšh´M½hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjî~ubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjÀh]”hŒ Description”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M¿hjî~ubhþ)�”}”(hX9This function duplicates a maple tree in Depth-First Search (DFS) pre-order traversal. It uses memcpy() to copy nodes in the source tree and allocate new child nodes in non-leaf nodes. The new node is exactly the same as the source node except for all the addresses stored in it. It will be faster than traversing all elements in the source tree and inserting them one by one into the new tree. The user needs to ensure that the attributes of the source tree and the new tree are the same, and the new tree needs to be an empty tree, otherwise -EINVAL will be returned.”h]”hX9This function duplicates a maple tree in Depth-First Search (DFS) pre-order traversal. It uses memcpy() to copy nodes in the source tree and allocate new child nodes in non-leaf nodes. The new node is exactly the same as the source node except for all the addresses stored in it. It will be faster than traversing all elements in the source tree and inserting them one by one into the new tree. The user needs to ensure that the attributes of the source tree and the new tree are the same, and the new tree needs to be an empty tree, otherwise -EINVAL will be returned.”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M¾hjî~ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjçh]”hŒReturn”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjåubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÈhjî~ubhþ)�”}”(hŒ–0 on success, -ENOMEM if memory could not be allocated, -EINVAL If the attributes of the two trees are different or the new tree is not an empty tree.”h]”hŒ–0 on success, -ENOMEM if memory could not be allocated, -EINVAL If the attributes of the two trees are different or the new tree is not an empty tree.”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MÉhjî~ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ__mt_destroy (C function)”Œc.__mt_destroy”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ)void __mt_destroy (struct maple_tree *mt)”h]”j )�”}”(hŒ(void __mt_destroy(struct maple_tree *mt)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj,€h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj(€h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mãubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;€h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj(€h²hh³j:€h´Mãubj )�”}”(hŒ __mt_destroy”h]”j )�”}”(hŒ __mt_destroy”h]”hŒ __mt_destroy”…”�”}”(hjM€h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjI€ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj(€h²hh³j:€h´Mãubjà )�”}”(hŒ(struct maple_tree *mt)”h]”jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hji€h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hje€ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjv€h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hje€ubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hj‡€h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj„€ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j‰€Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jO€sbŒc.__mt_destroy”†”asbuh1hhje€ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§€h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hje€ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjµ€h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hje€ubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hje€ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hja€ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj(€h²hh³j:€h´Mãubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj$€h²hh³j:€h´Mãubah}”(h]”j€ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j:€h´Mãhj!€h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ/Walk and free all nodes of a locked maple tree.”h]”hŒ/Walk and free all nodes of a locked maple tree.”…”�”}”(hjì€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mãhjé€h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj!€h²hh³j:€h´Mãubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j�j] j�j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒ^**Parameters** ``struct maple_tree *mt`` The maple tree **Note** Does not handle locking.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj�h]”hŒ Parameters”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj �ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mçhj�ubj9)�”}”(hhh]”j>)�”}”(hŒ)``struct maple_tree *mt`` The maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hj-�h]”hŒstruct maple_tree *mt”…”�”}”(hj/�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj+�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mähj'�ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree”h]”hŒThe maple tree”…”�”}”(hjF�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jB�h´MähjC�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj'�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jB�h´Mähj$�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hj�ubhþ)�”}”(hŒ**Note**”h]”j)�”}”(hjh�h]”hŒNote”…”�”}”(hjj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjf�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mæhj�ubhþ)�”}”(hŒDoes not handle locking.”h]”hŒDoes not handle locking.”…”�”}”(hj~�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mæhj�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmtree_destroy (C function)”Œc.mtree_destroy”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒ*void mtree_destroy (struct maple_tree *mt)”h]”j )�”}”(hŒ)void mtree_destroy(struct maple_tree *mt)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj­�h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj©�h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mõubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼�h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj©�h²hh³j»�h´Mõubj )�”}”(hŒ mtree_destroy”h]”j )�”}”(hŒ mtree_destroy”h]”hŒ mtree_destroy”…”�”}”(hjÎ�h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjÊ�ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hj©�h²hh³j»�h´Mõubjà )�”}”(hŒ(struct maple_tree *mt)”h]”jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjê�h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjæ�ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷�h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjæ�ubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj‚ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j ‚Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? jÐ�sbŒc.mtree_destroy”†”asbuh1hhjæ�ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(‚h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjæ�ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj6‚h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjæ�ubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hjC‚h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjæ�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjâ�ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj©�h²hh³j»�h´Mõubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj¥�h²hh³j»�h´Mõubah}”(h]”j �ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j»�h´Mõhj¢�h²hubjI )�”}”(hhh]”hþ)�”}”(hŒDestroy a maple tree”h]”hŒDestroy a maple tree”…”�”}”(hjm‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mõhjj‚h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj¢�h²hh³j»�h´Mõubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j…‚j] j…‚j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hŒ„**Parameters** ``struct maple_tree *mt`` The maple tree **Description** Frees all resources used by the tree. Handles locking.”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hj�‚h]”hŒ Parameters”…”�”}”(hj‘‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mùhj‰‚ubj9)�”}”(hhh]”j>)�”}”(hŒ)``struct maple_tree *mt`` The maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hj®‚h]”hŒstruct maple_tree *mt”…”�”}”(hj°‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj¬‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Möhj¨‚ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree”h]”hŒThe maple tree”…”�”}”(hjÇ‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jÂh´MöhjÄ‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj¨‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jÂh´Möhj¥‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hj‰‚ubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hjé‚h]”hŒ Description”…”�”}”(hjë‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjç‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Møhj‰‚ubhþ)�”}”(hŒ7Frees all resources used by the tree. Handles locking.”h]”hŒ7Frees all resources used by the tree. Handles locking.”…”�”}”(hjÿ‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M÷hj‰‚ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmt_find (C function)”Œ c.mt_find”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒOvoid * mt_find (struct maple_tree *mt, unsigned long *index, unsigned long max)”h]”j )�”}”(hŒMvoid *mt_find(struct maple_tree *mt, unsigned long *index, unsigned long max)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj.ƒh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj*ƒh²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=ƒh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj*ƒh²hh³j<ƒh´Mubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjKƒh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj*ƒh²hh³j<ƒh´Mubj )�”}”(hŒmt_find”h]”j )�”}”(hŒmt_find”h]”hŒmt_find”…”�”}”(hj\ƒh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjXƒubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1•ÃTj hj*ƒh²hh³j<ƒh´Mubjà )�”}”(hŒ@(struct maple_tree *mt, unsigned long *index, unsigned long max)”h]”(jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hjxƒh²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hjtƒubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…ƒh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjtƒubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hj–ƒh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj“ƒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j˜ƒŒmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? j^ƒsbŒ c.mt_find”†”asbuh1hhjtƒubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶ƒh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjtƒubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjăh²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjtƒubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hjуh²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjtƒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjpƒubjæ )�”}”(hŒunsigned long *index”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjêƒh²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjæƒubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjøƒh²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjæƒubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjæƒubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjæƒubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj"„h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjæƒubj )�”}”(hŒindex”h]”hŒindex”…”�”}”(hj/„h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjæƒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjpƒubjæ )�”}”(hŒunsigned long max”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjH„h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjD„ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjV„h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjD„ubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hjd„h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjD„ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjr„h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjD„ubj )�”}”(hŒmax”h]”hŒmax”…”�”}”(hj€„h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjD„ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hjpƒubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hj*ƒh²hh³j<ƒh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj&ƒh²hh³j<ƒh´Mubah}”(h]”j!ƒah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³j<ƒh´Mhj#ƒh²hubjI )�”}”(hhh]”hþ)�”}”(hŒ1Search from the start up until an entry is found.”h]”hŒ1Search from the start up until an entry is found.”…”�”}”(hjª„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhj§„h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj#ƒh²hh³j<ƒh´Mubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ j„j] j„j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hX|**Parameters** ``struct maple_tree *mt`` The maple tree ``unsigned long *index`` Pointer which contains the start location of the search ``unsigned long max`` The maximum value of the search range **Description** Takes RCU read lock internally to protect the search, which does not protect the returned pointer after dropping RCU read lock. See also: Documentation/core-api/maple_tree.rst In case that an entry is found **index** is updated to point to the next possible entry independent whether the found entry is occupying a single index or a range if indices. **Return** The entry at or after the **index** or ``NULL``”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjÌ„h]”hŒ Parameters”…”�”}”(hj΄h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÊ„ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhjÆ„ubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct maple_tree *mt`` The maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hjë„h]”hŒstruct maple_tree *mt”…”�”}”(hjí„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjé„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhjå„ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree”h]”hŒThe maple tree”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j…h´Mhj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjå„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j…h´Mhjâ„ubj>)�”}”(hŒQ``unsigned long *index`` Pointer which contains the start location of the search ”h]”(jD)�”}”(hŒ``unsigned long *index``”h]”j~)�”}”(hj$…h]”hŒunsigned long *index”…”�”}”(hj&…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj"…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´Mhj…ubjT)�”}”(hhh]”hþ)�”}”(hŒ7Pointer which contains the start location of the search”h]”hŒ7Pointer which contains the start location of the search”…”�”}”(hj=…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j9…h´Mhj:…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j9…h´Mhjâ„ubj>)�”}”(hŒ<``unsigned long max`` The maximum value of the search range ”h]”(jD)�”}”(hŒ``unsigned long max``”h]”j~)�”}”(hj]…h]”hŒunsigned long max”…”�”}”(hj_…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj[…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhjW…ubjT)�”}”(hhh]”hþ)�”}”(hŒ%The maximum value of the search range”h]”hŒ%The maximum value of the search range”…”�”}”(hjv…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jr…h´Mhjs…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjW…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jr…h´Mhjâ„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hjÆ„ubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hj˜…h]”hŒ Description”…”�”}”(hjš…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj–…ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhjÆ„ubhþ)�”}”(hŒ¯Takes RCU read lock internally to protect the search, which does not protect the returned pointer after dropping RCU read lock. See also: Documentation/core-api/maple_tree.rst”h]”hŒ¯Takes RCU read lock internally to protect the search, which does not protect the returned pointer after dropping RCU read lock. See also: Documentation/core-api/maple_tree.rst”…”�”}”(hj®…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhjÆ„ubhþ)�”}”(hŒ®In case that an entry is found **index** is updated to point to the next possible entry independent whether the found entry is occupying a single index or a range if indices.”h]”(hŒIn case that an entry is found ”…”�”}”(hj½…h²hh³Nh´Nubj)�”}”(hŒ **index**”h]”hŒindex”…”�”}”(hjÅ…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj½…ubhŒ† is updated to point to the next possible entry independent whether the found entry is occupying a single index or a range if indices.”…”�”}”(hj½…h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´M hjÆ„ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hjà…h]”hŒReturn”…”�”}”(hjâ…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÞ…ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhjÆ„ubhþ)�”}”(hŒ/The entry at or after the **index** or ``NULL``”h]”(hŒThe entry at or after the ”…”�”}”(hjö…h²hh³Nh´Nubj)�”}”(hŒ **index**”h]”hŒindex”…”�”}”(hjþ…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjö…ubhŒ or ”…”�”}”(hjö…h²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjö…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MhjÆ„ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubjô)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œmt_find_after (C function)”Œc.mt_find_after”hNt”auh1jóhjáh²hh³Nh´Nubj )�”}”(hhh]”(j )�”}”(hŒUvoid * mt_find_after (struct maple_tree *mt, unsigned long *index, unsigned long max)”h]”j )�”}”(hŒSvoid *mt_find_after(struct maple_tree *mt, unsigned long *index, unsigned long max)”h]”(j¥ )�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjE†h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjA†h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MCubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjT†h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjA†h²hh³jS†h´MCubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjb†h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjA†h²hh³jS†h´MCubj )�”}”(hŒ mt_find_after”h]”j )�”}”(hŒ mt_find_after”h]”hŒ mt_find_after”…”�”}”(hjs†h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjo†ubah}”(h]”h ]”(j. j/ eh"]”h$]”h&]”hÅhÆuh1j hjA†h²hh³jS†h´MCubjà )�”}”(hŒ@(struct maple_tree *mt, unsigned long *index, unsigned long max)”h]”(jæ )�”}”(hŒstruct maple_tree *mt”h]”(jì )�”}”(hj h]”hŒstruct”…”�”}”(hj�†h²hh³Nh´Nubah}”(h]”h ]”jø ah"]”h$]”h&]”uh1jë hj‹†ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœ†h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj‹†ubh)�”}”(hhh]”j )�”}”(hŒ maple_tree”h]”hŒ maple_tree”…”�”}”(hj­†h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjª†ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jV Œreftype”j? Œ reftarget”j¯†Œmodname”NŒ classname”NjC jF )�”}”jI ]”jL )�”}”j? ju†sbŒc.mt_find_after”†”asbuh1hhj‹†ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj͆h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj‹†ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hjÛ†h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hj‹†ubj )�”}”(hŒmt”h]”hŒmt”…”�”}”(hjè†h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj‹†ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj‡†ubjæ )�”}”(hŒunsigned long *index”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjý†ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjý†ubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hjý†ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+‡h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hjý†ubj` )�”}”(hjÚh]”hŒ*”…”�”}”(hj9‡h²hh³Nh´Nubah}”(h]”h ]”jk ah"]”h$]”h&]”uh1j_ hjý†ubj )�”}”(hŒindex”h]”hŒindex”…”�”}”(hjF‡h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hjý†ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj‡†ubjæ )�”}”(hŒunsigned long max”h]”(j¥ )�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj_‡h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj[‡ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm‡h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj[‡ubj¥ )�”}”(hŒlong”h]”hŒlong”…”�”}”(hj{‡h²hh³Nh´Nubah}”(h]”h ]”j± ah"]”h$]”h&]”uh1j¤ hj[‡ubj· )�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰‡h²hh³Nh´Nubah}”(h]”h ]”jà ah"]”h$]”h&]”uh1j¶ hj[‡ubj )�”}”(hŒmax”h]”hŒmax”…”�”}”(hj—‡h²hh³Nh´Nubah}”(h]”h ]”j' ah"]”h$]”h&]”uh1j hj[‡ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jå hj‡†ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jß hjA†h²hh³jS†h´MCubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj: ˆuh1j j; j< hj=†h²hh³jS†h´MCubah}”(h]”j8†ah ]”(j@ jA eh"]”h$]”h&]”jE ˆjF )jG huh1j h³jS†h´MChj:†h²hubjI )�”}”(hhh]”hþ)�”}”(hŒ1Search from the start up until an entry is found.”h]”hŒ1Search from the start up until an entry is found.”…”�”}”(hjÁ‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MChj¾‡h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jH hj:†h²hh³jS†h´MCubeh}”(h]”h ]”(jV Œfunction”eh"]”h$]”h&]”j[ jV j\ jÙ‡j] jÙ‡j^ ‰j_ ‰j` ‰uh1j h²hhjáh³Nh´Nubj• )�”}”(hXÆ**Parameters** ``struct maple_tree *mt`` The maple tree ``unsigned long *index`` Pointer which contains the start location of the search ``unsigned long max`` The maximum value to check **Description** Same as mt_find() except that it checks **index** for 0 before searching. If **index** == 0, the search is aborted. This covers a wrap around of **index** to 0 in an iterator loop. **Return** The entry at or after the **index** or ``NULL``”h]”(hþ)�”}”(hŒ**Parameters**”h]”j)�”}”(hjã‡h]”hŒ Parameters”…”�”}”(hjå‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjá‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MGhj݇ubj9)�”}”(hhh]”(j>)�”}”(hŒ)``struct maple_tree *mt`` The maple tree ”h]”(jD)�”}”(hŒ``struct maple_tree *mt``”h]”j~)�”}”(hjˆh]”hŒstruct maple_tree *mt”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MDhjü‡ubjT)�”}”(hhh]”hþ)�”}”(hŒThe maple tree”h]”hŒThe maple tree”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jˆh´MDhjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjü‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jˆh´MDhjù‡ubj>)�”}”(hŒQ``unsigned long *index`` Pointer which contains the start location of the search ”h]”(jD)�”}”(hŒ``unsigned long *index``”h]”j~)�”}”(hj;ˆh]”hŒunsigned long *index”…”�”}”(hj=ˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj9ˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MEhj5ˆubjT)�”}”(hhh]”hþ)�”}”(hŒ7Pointer which contains the start location of the search”h]”hŒ7Pointer which contains the start location of the search”…”�”}”(hjTˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³jPˆh´MEhjQˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jShj5ˆubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³jPˆh´MEhjù‡ubj>)�”}”(hŒ1``unsigned long max`` The maximum value to check ”h]”(jD)�”}”(hŒ``unsigned long max``”h]”j~)�”}”(hjtˆh]”hŒunsigned long max”…”�”}”(hjvˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hjrˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jCh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MFhjnˆubjT)�”}”(hhh]”hþ)�”}”(hŒThe maximum value to check”h]”hŒThe maximum value to check”…”�”}”(hj�ˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³j‰ˆh´MFhjŠˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jShjnˆubeh}”(h]”h ]”h"]”h$]”h&]”uh1j=h³j‰ˆh´MFhjù‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j8hj݇ubhþ)�”}”(hŒ**Description**”h]”j)�”}”(hj¯ˆh]”hŒ Description”…”�”}”(hj±ˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj­ˆubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MHhj݇ubhþ)�”}”(hŒ´Same as mt_find() except that it checks **index** for 0 before searching. If **index** == 0, the search is aborted. This covers a wrap around of **index** to 0 in an iterator loop.”h]”(hŒ(Same as mt_find() except that it checks ”…”�”}”(hjňh²hh³Nh´Nubj)�”}”(hŒ **index**”h]”hŒindex”…”�”}”(hj͈h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjňubhŒ for 0 before searching. If ”…”�”}”(hjňh²hh³Nh´Nubj)�”}”(hŒ **index**”h]”hŒindex”…”�”}”(hj߈h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjňubhŒ; == 0, the search is aborted. This covers a wrap around of ”…”�”}”(hjňh²hh³Nh´Nubj)�”}”(hŒ **index**”h]”hŒindex”…”�”}”(hjñˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjňubhŒ to 0 in an iterator loop.”…”�”}”(hjňh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MGhj݇ubhþ)�”}”(hŒ **Return**”h]”j)�”}”(hj ‰h]”hŒReturn”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MKhj݇ubhþ)�”}”(hŒ/The entry at or after the **index** or ``NULL``”h]”(hŒThe entry at or after the ”…”�”}”(hj"‰h²hh³Nh´Nubj)�”}”(hŒ **index**”h]”hŒindex”…”�”}”(hj*‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj"‰ubhŒ or ”…”�”}”(hj"‰h²hh³Nh´Nubj~)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hj<‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j}hj"‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hýh³ŒU/var/lib/git/docbuild/linux/Documentation/core-api/maple_tree:237: ./lib/maple_tree.c”h´MLhj݇ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j” hjáh²hh³Nh´Nubeh}”(h]”Œfunctions-and-structures”ah ]”h"]”Œfunctions and structures”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´Kêubeh}”(h]”Œ maple-tree”ah ]”h"]”Œ maple tree”ah$]”h&]”uh1hÈhhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hÍNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j‹‰Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”(j(]”jajÿ]”jõajd]”jZajŽ]”j„ajü]”jòauŒnameids”}”(je‰jb‰j.j+jj(j j jäjájjjÜjÿjÛjØj•jdj”j‘jÑjŽjÐjÍj]‰jZ‰jjüuŒ nametypes”}”(je‰‰j.‰jˆj ‰jä‰j‰j܈jÛ‰j•ˆj”‰jшjЉj]‰‰jˆuh}”(jb‰hÊj+jj(j1j j1jájœjjçjÿjjØjjdjej‘jejŽjšjÍjšjZ‰jájüjýj j jA jF j— jœ j‚ j‡ j<jAjßjäj‚j‡jjj¬j±j·j¼jéjîj‘j–jìjñjG jL j "j"j$j $jÜ%já%jó'jø'j²,j·,j‹.j�.jÏ0jÔ0jP2jU2jÚ4jß4jW7j\7j-9j29jª;j¯;j >j>jz@j@jgCjlCj¸Ej½Ej-Hj2HjKjKj­Lj²Lj?OjDOj´Qj¹Qj)Tj.Tj»VjÀVjBYjGYjÉ[jÎ[jù]jþ]jú_jÿ_jÄbjÉbjêdjïdj{hj€hj‚kj‡kjpojuojwrj|rj xjxj{zj€zjM}jR}j€j$€j �j¥�j!ƒj&ƒj8†j=†uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”(hŒsystem_message”“”)�”}”(hhh]”hþ)�”}”(hhh]”hŒ;Hyperlink target "maple-tree-normal-api" is not referenced.”…”�”}”hjù‰sbah}”(h]”h ]”h"]”h$]”h&]”uh1hýhjö‰ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÇŒline”K7uh1jô‰ubjõ‰)�”}”(hhh]”hþ)�”}”(hhh]”hŒ=Hyperlink target "maple-tree-advanced-api" is not referenced.”…”�”}”hjŠsbah}”(h]”h ]”h"]”h$]”h&]”uh1hýhjŠubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”jŠŒsource”hÇŒline”K‘uh1jô‰ubjõ‰)�”}”(hhh]”hþ)�”}”(hhh]”hŒ?Hyperlink target "maple-tree-advanced-alloc" is not referenced.”…”�”}”hj.Šsbah}”(h]”h ]”h"]”h$]”h&]”uh1hýhj+Šubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”jŠŒsource”hÇŒline”KÓuh1jô‰ubjõ‰)�”}”(hhh]”hþ)�”}”(hhh]”hŒ?Hyperlink target "maple-tree-advanced-locks" is not referenced.”…”�”}”hjHŠsbah}”(h]”h ]”h"]”h$]”h&]”uh1hýhjEŠubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”jŠŒsource”hÇŒline”Kßuh1jô‰ubjõ‰)�”}”(hhh]”hþ)�”}”(hhh]”hŒ6Hyperlink target "maple-tree-flags" is not referenced.”…”�”}”hjbŠsbah}”(h]”h ]”h"]”h$]”h&]”uh1hýhj_Šubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”jŠŒline”KŒsource”hÇuh1jô‰ubeŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.