sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget(/translations/zh_CN/core-api/folio_queuemodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/zh_TW/core-api/folio_queuemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/it_IT/core-api/folio_queuemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/ja_JP/core-api/folio_queuemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/ko_KR/core-api/folio_queuemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/sp_SP/core-api/folio_queuemodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h!SPDX-License-Identifier: GPL-2.0+h]h!SPDX-License-Identifier: GPL-2.0+}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhB/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue.rsthKubhsection)}(hhh](htitle)}(h Folio Queueh]h Folio Queue}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh field_list)}(hhh]hfield)}(hhh](h field_name)}(hAuthorh]hAuthor}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhKubh field_body)}(h$David Howells h]h paragraph)}(h#David Howells h](hDavid Howells <}(hhhhhNhNubh reference)}(hdhowells@redhat.comh]hdhowells@redhat.com}(hhhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:dhowells@redhat.comuh1hhhubh>}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hContents: * Overview * Initialisation * Adding and removing folios * Querying information about a folio * Querying information about a folio_queue * Folio queue iteration * Folio marks * Lockless simultaneous production/consumption issuesh]hContents: * Overview * Initialisation * Adding and removing folios * Querying information about a folio * Querying information about a folio_queue * Folio queue iteration * Folio marks * Lockless simultaneous production/consumption issues}hj!sbah}(h]h ]h"]h$]h&]hhuh1hhhhhhhhKubh)}(hhh](h)}(hOverviewh]hOverview}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hhhhhKubh)}(hThe folio_queue struct forms a single segment in a segmented list of folios that can be used to form an I/O buffer. As such, the list can be iterated over using the ITER_FOLIOQ iov_iter type.h]hThe folio_queue struct forms a single segment in a segmented list of folios that can be used to form an I/O buffer. As such, the list can be iterated over using the ITER_FOLIOQ iov_iter type.}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/hhubh)}(h6The publicly accessible members of the structure are::h]h5The publicly accessible members of the structure are:}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/hhubh literal_block)}(hgstruct folio_queue { struct folio_queue *next; struct folio_queue *prev; ... };h]hgstruct folio_queue { struct folio_queue *next; struct folio_queue *prev; ... };}hj^sbah}(h]h ]h"]h$]h&]hhuh1j\hhhKhj/hhubh)}(hXA pair of pointers are provided, ``next`` and ``prev``, that point to the segments on either side of the segment being accessed. Whilst this is a doubly-linked list, it is intentionally not a circular list; the outward sibling pointers in terminal segments should be NULL.h](h!A pair of pointers are provided, }(hjlhhhNhNubhliteral)}(h``next``h]hnext}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1jthjlubh and }(hjlhhhNhNubju)}(h``prev``h]hprev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jthjlubh, that point to the segments on either side of the segment being accessed. Whilst this is a doubly-linked list, it is intentionally not a circular list; the outward sibling pointers in terminal segments should be NULL.}(hjlhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK$hj/hhubh)}(h%Each segment in the list also stores:h]h%Each segment in the list also stores:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hj/hhubh block_quote)}(he* an ordered sequence of folio pointers, * the size of each folio and * three 1-bit marks per folio, h]h bullet_list)}(hhh](h list_item)}(h&an ordered sequence of folio pointers,h]h)}(hjh]h&an ordered sequence of folio pointers,}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hthe size of each folio andh]h)}(hjh]hthe size of each folio and}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hthree 1-bit marks per folio, h]h)}(hthree 1-bit marks per folio,h]hthree 1-bit marks per folio,}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]bullet*uh1jhhhK+hjubah}(h]h ]h"]h$]h&]uh1jhhhK+hj/hhubh)}(hbut hese should not be accessed directly as the underlying data structure may change, but rather the access functions outlined below should be used.h]hbut hese should not be accessed directly as the underlying data structure may change, but rather the access functions outlined below should be used.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hj/hhubh)}(h(The facility can be made accessible by::h]h'The facility can be made accessible by:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK2hj/hhubj])}(h#include h]h#include }hj+sbah}(h]h ]h"]h$]h&]hhuh1j\hhhK4hj/hhubh)}(hand to use the iterator::h]hand to use the iterator:}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hj/hhubj])}(h#include h]h#include }hjGsbah}(h]h ]h"]h$]h&]hhuh1j\hhhK8hj/hhubeh}(h]overviewah ]h"]overviewah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hInitialisationh]hInitialisation}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]hhhhhKhj]hhubj])}(h-void folioq_init(struct folio_queue *folioq);h]h-void folioq_init(struct folio_queue *folioq);}hj|sbah}(h]h ]h"]h$]h&]hhuh1j\hhhK@hj]hhubh)}(hwith a pointer to the segment to be initialised. Note that this will not necessarily initialise all the folio pointers, so care must be taken to check the number of folios added.h]hwith a pointer to the segment to be initialised. Note that this will not necessarily initialise all the folio pointers, so care must be taken to check the number of folios added.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhj]hhubeh}(h]initialisationah ]h"]initialisationah$]h&]uh1hhhhhhhhKunsigned int folioq_nr_slots(const struct folio_queue *folioq)h](j$)}(hunsignedh]hunsigned}(hjzhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjvhhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKIubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjvhhhjhKIubj$)}(hinth]hint}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjvhhhjhKIubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjvhhhjhKIubjG)}(hfolioq_nr_slotsh]jM)}(hfolioq_nr_slotsh]hfolioq_nr_slots}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhjvhhhjhKIubjf)}(h"(const struct folio_queue *folioq)h]jl)}(h const struct folio_queue *folioqh](jr)}(hconsth]hconst}(hjhhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubjr)}(hjuh]hstruct}(hjhhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hj hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.folioq_nr_slotsasbuh1hhjubj6)}(h h]h }(hj-hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubj)}(hjh]h*}(hj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjM)}(hfolioqh]hfolioq}(hjHhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjubah}(h]h ]h"]h$]h&]hhuh1jehjvhhhjhKIubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhjrhhhjhKIubah}(h]jmah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhjhKIhjohhubj[)}(hhh]h)}(h+Query the capacity of a folio queue segmenth]h+Query the capacity of a folio queue segment}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKChjohhubah}(h]h ]h"]h$]h&]uh1jZhjohhhjhKIubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|jj}jj~jjuh1jhhhjhNhNubj)}(h**Parameters** ``const struct folio_queue *folioq`` The segment to query **Description** Query the number of folios that a particular folio queue segment might hold. [!] NOTE: This must not be assumed to be the same for every segment!h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKGhjubj)}(hhh]j)}(h:``const struct folio_queue *folioq`` The segment to query h](j)}(h$``const struct folio_queue *folioq``h]ju)}(hjh]h const struct folio_queue *folioq}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jthjubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKDhjubj)}(hhh]h)}(hThe segment to queryh]hThe segment to query}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKDhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKDhjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKFhjubh)}(hQuery the number of folios that a particular folio queue segment might hold. [!] NOTE: This must not be assumed to be the same for every segment!h]hQuery the number of folios that a particular folio queue segment might hold. [!] NOTE: This must not be assumed to be the same for every segment!}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKFhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_count (C function)c.folioq_counthNtauh1jhjhhhNhNubj)}(hhh](j)}(h6unsigned int folioq_count (struct folio_queue *folioq)h]j)}(h5unsigned int folioq_count(struct folio_queue *folioq)h](j$)}(hunsignedh]hunsigned}(hj3 hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj/ hhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKUubj6)}(h h]h }(hjB hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj/ hhhjA hKUubj$)}(hinth]hint}(hjP hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj/ hhhjA hKUubj6)}(h h]h }(hj^ hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj/ hhhjA hKUubjG)}(h folioq_counth]jM)}(h folioq_counth]h folioq_count}(hjp hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjl ubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhj/ hhhjA hKUubjf)}(h(struct folio_queue *folioq)h]jl)}(hstruct folio_queue *folioqh](jr)}(hjuh]hstruct}(hj hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhj ubj6)}(h h]h }(hj hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj ubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hj hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j)}jjr sbc.folioq_countasbuh1hhj ubj6)}(h h]h }(hj hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjM)}(hfolioqh]hfolioq}(hj hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj ubah}(h]h ]h"]h$]h&]hhuh1jehj/ hhhjA hKUubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhj+ hhhjA hKUubah}(h]j& ah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhjA hKUhj( hhubj[)}(hhh]h)}(h,Query the occupancy of a folio queue segmenth]h,Query the occupancy of a folio queue segment}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKOhj hhubah}(h]h ]h"]h$]h&]uh1jZhj( hhhjA hKUubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|j' j}j' j~jjuh1jhhhjhNhNubj)}(h**Parameters** ``struct folio_queue *folioq`` The segment to query **Description** Query the number of folios that have been added to a folio queue segment. Note that this is not decreased as folios are removed from a segment.h](h)}(h**Parameters**h]j)}(hj1 h]h Parameters}(hj3 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKShj+ ubj)}(hhh]j)}(h4``struct folio_queue *folioq`` The segment to query h](j)}(h``struct folio_queue *folioq``h]ju)}(hjP h]hstruct folio_queue *folioq}(hjR hhhNhNubah}(h]h ]h"]h$]h&]uh1jthjN ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKPhjJ ubj)}(hhh]h)}(hThe segment to queryh]hThe segment to query}(hji hhhNhNubah}(h]h ]h"]h$]h&]uh1hhje hKPhjf ubah}(h]h ]h"]h$]h&]uh1jhjJ ubeh}(h]h ]h"]h$]h&]uh1jhje hKPhjG ubah}(h]h ]h"]h$]h&]uh1jhj+ ubh)}(h**Description**h]j)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKRhj+ ubh)}(hQuery the number of folios that have been added to a folio queue segment. Note that this is not decreased as folios are removed from a segment.h]hQuery the number of folios that have been added to a folio queue segment. Note that this is not decreased as folios are removed from a segment.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKRhj+ ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_full (C function) c.folioq_fullhNtauh1jhjhhhNhNubj)}(hhh](j)}(h-bool folioq_full (struct folio_queue *folioq)h]j)}(h,bool folioq_full(struct folio_queue *folioq)h](j$)}(hboolh]hbool}(hj hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj hhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKaubj6)}(h h]h }(hj hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj hhhj hKaubjG)}(h folioq_fullh]jM)}(h folioq_fullh]h folioq_full}(hj hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj ubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhj hhhj hKaubjf)}(h(struct folio_queue *folioq)h]jl)}(hstruct folio_queue *folioqh](jr)}(hjuh]hstruct}(hj hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhj ubj6)}(h h]h }(hj hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj ubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hj+ hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj( ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj- modnameN classnameNjj)}j]j)}jj sb c.folioq_fullasbuh1hhj ubj6)}(h h]h }(hjK hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj ubj)}(hjh]h*}(hjY hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjM)}(hfolioqh]hfolioq}(hjf hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj ubah}(h]h ]h"]h$]h&]hhuh1jehj hhhj hKaubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhj hhhj hKaubah}(h]j ah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhj hKahj hhubj[)}(hhh]h)}(h&Query if a folio queue segment is fullh]h&Query if a folio queue segment is full}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhK[hj hhubah}(h]h ]h"]h$]h&]uh1jZhj hhhj hKaubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|j j}j j~jjuh1jhhhjhNhNubj)}(h**Parameters** ``struct folio_queue *folioq`` The segment to query **Description** Query if a folio queue segment is fully occupied. Note that this does not change if folios are removed from a segment.h](h)}(h**Parameters**h]j)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhK_hj ubj)}(hhh]j)}(h4``struct folio_queue *folioq`` The segment to query h](j)}(h``struct folio_queue *folioq``h]ju)}(hj h]hstruct folio_queue *folioq}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhK\hj ubj)}(hhh]h)}(hThe segment to queryh]hThe segment to query}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hK\hj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hK\hj ubah}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]j)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhK^hj ubh)}(hwQuery if a folio queue segment is fully occupied. Note that this does not change if folios are removed from a segment.h]hwQuery if a folio queue segment is fully occupied. Note that this does not change if folios are removed from a segment.}(hj" hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhK^hj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_is_marked (C function)c.folioq_is_markedhNtauh1jhjhhhNhNubj)}(hhh](j)}(hKbool folioq_is_marked (const struct folio_queue *folioq, unsigned int slot)h]j)}(hJbool folioq_is_marked(const struct folio_queue *folioq, unsigned int slot)h](j$)}(hj h]hbool}(hjQ hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjM hhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKoubj6)}(h h]h }(hj_ hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjM hhhj^ hKoubjG)}(hfolioq_is_markedh]jM)}(hfolioq_is_markedh]hfolioq_is_marked}(hjq hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjm ubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhjM hhhj^ hKoubjf)}(h5(const struct folio_queue *folioq, unsigned int slot)h](jl)}(h const struct folio_queue *folioqh](jr)}(hjh]hconst}(hj hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhj ubj6)}(h h]h }(hj hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj ubjr)}(hjuh]hstruct}(hj hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhj ubj6)}(h h]h }(hj hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj ubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hj hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j)}jjs sbc.folioq_is_markedasbuh1hhj ubj6)}(h h]h }(hj hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjM)}(hfolioqh]hfolioq}(hj hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj ubjl)}(hunsigned int sloth](j$)}(hunsignedh]hunsigned}(hj hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj ubj6)}(h h]h }(hj( hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj ubj$)}(hinth]hint}(hj6 hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj ubj6)}(h h]h }(hjD hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj ubjM)}(hsloth]hslot}(hjR hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj ubeh}(h]h ]h"]h$]h&]hhuh1jehjM hhhj^ hKoubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhjI hhhj^ hKoubah}(h]jD ah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhj^ hKohjF hhubj[)}(hhh]h)}(h/Check first folio mark in a folio queue segmenth]h/Check first folio mark in a folio queue segment}(hj| hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhhjy hhubah}(h]h ]h"]h$]h&]uh1jZhjF hhhj^ hKoubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|j j}j j~jjuh1jhhhjhNhNubj)}(h**Parameters** ``const struct folio_queue *folioq`` The segment to query ``unsigned int slot`` The slot number of the folio to query **Description** Determine if the first mark is set for the folio in the specified slot in a folio queue segment.h](h)}(h**Parameters**h]j)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKlhj ubj)}(hhh](j)}(h:``const struct folio_queue *folioq`` The segment to query h](j)}(h$``const struct folio_queue *folioq``h]ju)}(hj h]h const struct folio_queue *folioq}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKihj ubj)}(hhh]h)}(hThe segment to queryh]hThe segment to query}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKihj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKihj ubj)}(h<``unsigned int slot`` The slot number of the folio to query h](j)}(h``unsigned int slot``h]ju)}(hj h]hunsigned int slot}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKjhj ubj)}(hhh]h)}(h%The slot number of the folio to queryh]h%The slot number of the folio to query}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKjhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKjhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]j)}(hj1h]h Description}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKlhj ubh)}(h`Determine if the first mark is set for the folio in the specified slot in a folio queue segment.h]h`Determine if the first mark is set for the folio in the specified slot in a folio queue segment.}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKlhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_mark (C function) c.folioq_markhNtauh1jhjhhhNhNubj)}(hhh](j)}(h@void folioq_mark (struct folio_queue *folioq, unsigned int slot)h]j)}(h?void folioq_mark(struct folio_queue *folioq, unsigned int slot)h](j$)}(hvoidh]hvoid}(hjvhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjrhhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhK|ubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjrhhhjhK|ubjG)}(h folioq_markh]jM)}(h folioq_markh]h folioq_mark}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhjrhhhjhK|ubjf)}(h/(struct folio_queue *folioq, unsigned int slot)h](jl)}(hstruct folio_queue *folioqh](jr)}(hjuh]hstruct}(hjhhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsb c.folioq_markasbuh1hhjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjM)}(hfolioqh]hfolioq}(hj hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjubjl)}(hunsigned int sloth](j$)}(hunsignedh]hunsigned}(hj%hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj!ubj6)}(h h]h }(hj3hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj!ubj$)}(hinth]hint}(hjAhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj!ubj6)}(h h]h }(hjOhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj!ubjM)}(hsloth]hslot}(hj]hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj!ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjubeh}(h]h ]h"]h$]h&]hhuh1jehjrhhhjhK|ubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhjnhhhjhK|ubah}(h]jiah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhjhK|hjkhhubj[)}(hhh]h)}(h6Set the first mark on a folio in a folio queue segmenth]h6Set the first mark on a folio in a folio queue segment}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKuhjhhubah}(h]h ]h"]h$]h&]uh1jZhjkhhhjhK|ubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|jj}jj~jjuh1jhhhjhNhNubj)}(h**Parameters** ``struct folio_queue *folioq`` The segment to modify ``unsigned int slot`` The slot number of the folio to modify **Description** Set the first mark for the folio in the specified slot in a folio queue segment.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKyhjubj)}(hhh](j)}(h5``struct folio_queue *folioq`` The segment to modify h](j)}(h``struct folio_queue *folioq``h]ju)}(hjh]hstruct folio_queue *folioq}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jthjubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKvhjubj)}(hhh]h)}(hThe segment to modifyh]hThe segment to modify}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKvhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKvhjubj)}(h=``unsigned int slot`` The slot number of the folio to modify h](j)}(h``unsigned int slot``h]ju)}(hjh]hunsigned int slot}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jthjubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKwhjubj)}(hhh]h)}(h&The slot number of the folio to modifyh]h&The slot number of the folio to modify}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKwhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKwhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hj<h]h Description}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKyhjubh)}(hPSet the first mark for the folio in the specified slot in a folio queue segment.h]hPSet the first mark for the folio in the specified slot in a folio queue segment.}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKyhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_unmark (C function)c.folioq_unmarkhNtauh1jhjhhhNhNubj)}(hhh](j)}(hBvoid folioq_unmark (struct folio_queue *folioq, unsigned int slot)h]j)}(hAvoid folioq_unmark(struct folio_queue *folioq, unsigned int slot)h](j$)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj}hhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj}hhhjhKubjG)}(h folioq_unmarkh]jM)}(h folioq_unmarkh]h folioq_unmark}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhj}hhhjhKubjf)}(h/(struct folio_queue *folioq, unsigned int slot)h](jl)}(hstruct folio_queue *folioqh](jr)}(hjuh]hstruct}(hjhhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.folioq_unmarkasbuh1hhjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjM)}(hfolioqh]hfolioq}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjubjl)}(hunsigned int sloth](j$)}(hunsignedh]hunsigned}(hj0hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj,ubj6)}(h h]h }(hj>hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj,ubj$)}(hinth]hint}(hjLhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj,ubj6)}(h h]h }(hjZhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj,ubjM)}(hsloth]hslot}(hjhhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj,ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjubeh}(h]h ]h"]h$]h&]hhuh1jehj}hhhjhKubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhjyhhhjhKubah}(h]jtah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhjhKhjvhhubj[)}(hhh]h)}(h8Clear the first mark on a folio in a folio queue segmenth]h8Clear the first mark on a folio in a folio queue segment}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jZhjvhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|jj}jj~jjuh1jhhhjhNhNubj)}(h**Parameters** ``struct folio_queue *folioq`` The segment to modify ``unsigned int slot`` The slot number of the folio to modify **Description** Clear the first mark for the folio in the specified slot in a folio queue segment.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubj)}(hhh](j)}(h5``struct folio_queue *folioq`` The segment to modify h](j)}(h``struct folio_queue *folioq``h]ju)}(hjh]hstruct folio_queue *folioq}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jthjubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubj)}(hhh]h)}(hThe segment to modifyh]hThe segment to modify}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h=``unsigned int slot`` The slot number of the folio to modify h](j)}(h``unsigned int slot``h]ju)}(hj h]hunsigned int slot}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jthj ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubj)}(hhh]h)}(h&The slot number of the folio to modifyh]h&The slot number of the folio to modify}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!hKhj"ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj!hKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjGh]h Description}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubh)}(hRClear the first mark for the folio in the specified slot in a folio queue segment.h]hRClear the first mark for the folio in the specified slot in a folio queue segment.}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_is_marked2 (C function)c.folioq_is_marked2hNtauh1jhjhhhNhNubj)}(hhh](j)}(hLbool folioq_is_marked2 (const struct folio_queue *folioq, unsigned int slot)h]j)}(hKbool folioq_is_marked2(const struct folio_queue *folioq, unsigned int slot)h](j$)}(hj h]hbool}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjhhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjhhhjhKubjG)}(hfolioq_is_marked2h]jM)}(hfolioq_is_marked2h]hfolioq_is_marked2}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhjhhhjhKubjf)}(h5(const struct folio_queue *folioq, unsigned int slot)h](jl)}(h const struct folio_queue *folioqh](jr)}(hjh]hconst}(hjhhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubjr)}(hjuh]hstruct}(hjhhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.folioq_is_marked2asbuh1hhjubj6)}(h h]h }(hj!hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubj)}(hjh]h*}(hj/hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjM)}(hfolioqh]hfolioq}(hj<hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjubjl)}(hunsigned int sloth](j$)}(hunsignedh]hunsigned}(hjUhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjQubj6)}(h h]h }(hjchhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjQubj$)}(hinth]hint}(hjqhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjQubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjQubjM)}(hsloth]hslot}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjQubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjubeh}(h]h ]h"]h$]h&]hhuh1jehjhhhjhKubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhjhhhjhKubah}(h]jah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhjhKhjhhubj[)}(hhh]h)}(h0Check second folio mark in a folio queue segmenth]h0Check second folio mark in a folio queue segment}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jZhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|jj}jj~jjuh1jhhhjhNhNubj)}(h**Parameters** ``const struct folio_queue *folioq`` The segment to query ``unsigned int slot`` The slot number of the folio to query **Description** Determine if the second mark is set for the folio in the specified slot in a folio queue segment.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubj)}(hhh](j)}(h:``const struct folio_queue *folioq`` The segment to query h](j)}(h$``const struct folio_queue *folioq``h]ju)}(hjh]h const struct folio_queue *folioq}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jthjubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubj)}(hhh]h)}(hThe segment to queryh]hThe segment to query}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hKhjubj)}(h<``unsigned int slot`` The slot number of the folio to query h](j)}(h``unsigned int slot``h]ju)}(hj1h]hunsigned int slot}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj/ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj+ubj)}(hhh]h)}(h%The slot number of the folio to queryh]h%The slot number of the folio to query}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFhKhjGubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhjFhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjlh]h Description}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubh)}(haDetermine if the second mark is set for the folio in the specified slot in a folio queue segment.h]haDetermine if the second mark is set for the folio in the specified slot in a folio queue segment.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_mark2 (C function)c.folioq_mark2hNtauh1jhjhhhNhNubj)}(hhh](j)}(hAvoid folioq_mark2 (struct folio_queue *folioq, unsigned int slot)h]j)}(h@void folioq_mark2(struct folio_queue *folioq, unsigned int slot)h](j$)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjhhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjhhhjhKubjG)}(h folioq_mark2h]jM)}(h folioq_mark2h]h folioq_mark2}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhjhhhjhKubjf)}(h/(struct folio_queue *folioq, unsigned int slot)h](jl)}(hstruct folio_queue *folioqh](jr)}(hjuh]hstruct}(hjhhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hj hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.folioq_mark2asbuh1hhjubj6)}(h h]h }(hj,hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubj)}(hjh]h*}(hj:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjM)}(hfolioqh]hfolioq}(hjGhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjubjl)}(hunsigned int sloth](j$)}(hunsignedh]hunsigned}(hj`hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj\ubj6)}(h h]h }(hjnhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj\ubj$)}(hinth]hint}(hj|hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj\ubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj\ubjM)}(hsloth]hslot}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj\ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjubeh}(h]h ]h"]h$]h&]hhuh1jehjhhhjhKubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhjhhhjhKubah}(h]jah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhjhKhjhhubj[)}(hhh]h)}(h7Set the second mark on a folio in a folio queue segmenth]h7Set the second mark on a folio in a folio queue segment}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jZhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|jj}jj~jjuh1jhhhjhNhNubj)}(h**Parameters** ``struct folio_queue *folioq`` The segment to modify ``unsigned int slot`` The slot number of the folio to modify **Description** Set the second mark for the folio in the specified slot in a folio queue segment.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubj)}(hhh](j)}(h5``struct folio_queue *folioq`` The segment to modify h](j)}(h``struct folio_queue *folioq``h]ju)}(hjh]hstruct folio_queue *folioq}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jthjubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubj)}(hhh]h)}(hThe segment to modifyh]hThe segment to modify}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h=``unsigned int slot`` The slot number of the folio to modify h](j)}(h``unsigned int slot``h]ju)}(hj<h]hunsigned int slot}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj:ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj6ubj)}(hhh]h)}(h&The slot number of the folio to modifyh]h&The slot number of the folio to modify}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQhKhjRubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjQhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjwh]h Description}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjuubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubh)}(hQSet the second mark for the folio in the specified slot in a folio queue segment.h]hQSet the second mark for the folio in the specified slot in a folio queue segment.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_unmark2 (C function)c.folioq_unmark2hNtauh1jhjhhhNhNubj)}(hhh](j)}(hCvoid folioq_unmark2 (struct folio_queue *folioq, unsigned int slot)h]j)}(hBvoid folioq_unmark2(struct folio_queue *folioq, unsigned int slot)h](j$)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjhhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjhhhjhKubjG)}(hfolioq_unmark2h]jM)}(hfolioq_unmark2h]hfolioq_unmark2}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhjhhhjhKubjf)}(h/(struct folio_queue *folioq, unsigned int slot)h](jl)}(hstruct folio_queue *folioqh](jr)}(hjuh]hstruct}(hjhhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.folioq_unmark2asbuh1hhjubj6)}(h h]h }(hj7hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubj)}(hjh]h*}(hjEhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjM)}(hfolioqh]hfolioq}(hjRhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjubjl)}(hunsigned int sloth](j$)}(hunsignedh]hunsigned}(hjkhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjgubj6)}(h h]h }(hjyhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjgubj$)}(hinth]hint}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjgubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjgubjM)}(hsloth]hslot}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjgubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjubeh}(h]h ]h"]h$]h&]hhuh1jehjhhhjhKubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhjhhhjhKubah}(h]jah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhjhKhjhhubj[)}(hhh]h)}(h9Clear the second mark on a folio in a folio queue segmenth]h9Clear the second mark on a folio in a folio queue segment}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jZhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|jj}jj~jjuh1jhhhjhNhNubj)}(h**Parameters** ``struct folio_queue *folioq`` The segment to modify ``unsigned int slot`` The slot number of the folio to modify **Description** Clear the second mark for the folio in the specified slot in a folio queue segment.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubj)}(hhh](j)}(h5``struct folio_queue *folioq`` The segment to modify h](j)}(h``struct folio_queue *folioq``h]ju)}(hjh]hstruct folio_queue *folioq}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jthj ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubj)}(hhh]h)}(hThe segment to modifyh]hThe segment to modify}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hKhj$ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj#hKhjubj)}(h=``unsigned int slot`` The slot number of the folio to modify h](j)}(h``unsigned int slot``h]ju)}(hjGh]hunsigned int slot}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jthjEubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjAubj)}(hhh]h)}(h&The slot number of the folio to modifyh]h&The slot number of the folio to modify}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\hKhj]ubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj\hKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubh)}(hSClear the second mark for the folio in the specified slot in a folio queue segment.h]hSClear the second mark for the folio in the specified slot in a folio queue segment.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_is_marked3 (C function)c.folioq_is_marked3hNtauh1jhjhhhNhNubj)}(hhh](j)}(hLbool folioq_is_marked3 (const struct folio_queue *folioq, unsigned int slot)h]j)}(hKbool folioq_is_marked3(const struct folio_queue *folioq, unsigned int slot)h](j$)}(hj h]hbool}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjhhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjhhhjhKubjG)}(hfolioq_is_marked3h]jM)}(hfolioq_is_marked3h]hfolioq_is_marked3}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhjhhhjhKubjf)}(h5(const struct folio_queue *folioq, unsigned int slot)h](jl)}(h const struct folio_queue *folioqh](jr)}(hjh]hconst}(hjhhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubjr)}(hjuh]hstruct}(hjhhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhjubj6)}(h h]h }(hj+hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hj<hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj9ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj>modnameN classnameNjj)}j]j)}jjsbc.folioq_is_marked3asbuh1hhjubj6)}(h h]h }(hj\hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubj)}(hjh]h*}(hjjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjM)}(hfolioqh]hfolioq}(hjwhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjubjl)}(hunsigned int sloth](j$)}(hunsignedh]hunsigned}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubj$)}(hinth]hint}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubjM)}(hsloth]hslot}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjubeh}(h]h ]h"]h$]h&]hhuh1jehjhhhjhKubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhjhhhjhKubah}(h]jah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhjhKhjhhubj[)}(hhh]h)}(h/Check third folio mark in a folio queue segmenth]h/Check third folio mark in a folio queue segment}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jZhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|j j}j j~jjuh1jhhhjhNhNubj)}(h**Parameters** ``const struct folio_queue *folioq`` The segment to query ``unsigned int slot`` The slot number of the folio to query **Description** Determine if the third mark is set for the folio in the specified slot in a folio queue segment.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubj)}(hhh](j)}(h:``const struct folio_queue *folioq`` The segment to query h](j)}(h$``const struct folio_queue *folioq``h]ju)}(hj3h]h const struct folio_queue *folioq}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj1ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj-ubj)}(hhh]h)}(hThe segment to queryh]hThe segment to query}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHhKhjIubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhjHhKhj*ubj)}(h<``unsigned int slot`` The slot number of the folio to query h](j)}(h``unsigned int slot``h]ju)}(hjlh]hunsigned int slot}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jthjjubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjfubj)}(hhh]h)}(h%The slot number of the folio to queryh]h%The slot number of the folio to query}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhjhKhj*ubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubh)}(h`Determine if the third mark is set for the folio in the specified slot in a folio queue segment.h]h`Determine if the third mark is set for the folio in the specified slot in a folio queue segment.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_mark3 (C function)c.folioq_mark3hNtauh1jhjhhhNhNubj)}(hhh](j)}(hAvoid folioq_mark3 (struct folio_queue *folioq, unsigned int slot)h]j)}(h@void folioq_mark3(struct folio_queue *folioq, unsigned int slot)h](j$)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjhhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjhhhjhKubjG)}(h folioq_mark3h]jM)}(h folioq_mark3h]h folioq_mark3}(hj hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj ubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhjhhhjhKubjf)}(h/(struct folio_queue *folioq, unsigned int slot)h](jl)}(hstruct folio_queue *folioqh](jr)}(hjuh]hstruct}(hj)hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhj%ubj6)}(h h]h }(hj6hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj%ubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hjGhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjDubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjImodnameN classnameNjj)}j]j)}jjsbc.folioq_mark3asbuh1hhj%ubj6)}(h h]h }(hjghhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj%ubj)}(hjh]h*}(hjuhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%ubjM)}(hfolioqh]hfolioq}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj%ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj!ubjl)}(hunsigned int sloth](j$)}(hunsignedh]hunsigned}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubj$)}(hinth]hint}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubjM)}(hsloth]hslot}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj!ubeh}(h]h ]h"]h$]h&]hhuh1jehjhhhjhKubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhjhhhjhKubah}(h]jah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhjhKhjhhubj[)}(hhh]h)}(h6Set the third mark on a folio in a folio queue segmenth]h6Set the third mark on a folio in a folio queue segment}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jZhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|jj}jj~jjuh1jhhhjhNhNubj)}(h**Parameters** ``struct folio_queue *folioq`` The segment to modify ``unsigned int slot`` The slot number of the folio to modify **Description** Set the third mark for the folio in the specified slot in a folio queue segment.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubj)}(hhh](j)}(h5``struct folio_queue *folioq`` The segment to modify h](j)}(h``struct folio_queue *folioq``h]ju)}(hj>h]hstruct folio_queue *folioq}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj<ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj8ubj)}(hhh]h)}(hThe segment to modifyh]hThe segment to modify}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjShKhjTubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhjShKhj5ubj)}(h=``unsigned int slot`` The slot number of the folio to modify h](j)}(h``unsigned int slot``h]ju)}(hjwh]hunsigned int slot}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jthjuubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjqubj)}(hhh]h)}(h&The slot number of the folio to modifyh]h&The slot number of the folio to modify}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjqubeh}(h]h ]h"]h$]h&]uh1jhjhKhj5ubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubh)}(hPSet the third mark for the folio in the specified slot in a folio queue segment.h]hPSet the third mark for the folio in the specified slot in a folio queue segment.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_unmark3 (C function)c.folioq_unmark3hNtauh1jhjhhhNhNubj)}(hhh](j)}(hCvoid folioq_unmark3 (struct folio_queue *folioq, unsigned int slot)h]j)}(hBvoid folioq_unmark3(struct folio_queue *folioq, unsigned int slot)h](j$)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjhhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjhhhjhKubjG)}(hfolioq_unmark3h]jM)}(hfolioq_unmark3h]hfolioq_unmark3}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhjhhhjhKubjf)}(h/(struct folio_queue *folioq, unsigned int slot)h](jl)}(hstruct folio_queue *folioqh](jr)}(hjuh]hstruct}(hj4hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhj0ubj6)}(h h]h }(hjAhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj0ubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hjRhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjOubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjTmodnameN classnameNjj)}j]j)}jjsbc.folioq_unmark3asbuh1hhj0ubj6)}(h h]h }(hjrhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj0ubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj0ubjM)}(hfolioqh]hfolioq}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj0ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj,ubjl)}(hunsigned int sloth](j$)}(hunsignedh]hunsigned}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubj$)}(hinth]hint}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubjM)}(hsloth]hslot}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj,ubeh}(h]h ]h"]h$]h&]hhuh1jehjhhhjhKubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhjhhhjhKubah}(h]jah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhjhKhjhhubj[)}(hhh]h)}(h8Clear the third mark on a folio in a folio queue segmenth]h8Clear the third mark on a folio in a folio queue segment}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jZhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|j j}j j~jjuh1jhhhjhNhNubj)}(h**Parameters** ``struct folio_queue *folioq`` The segment to modify ``unsigned int slot`` The slot number of the folio to modify **Description** Clear the third mark for the folio in the specified slot in a folio queue segment.h](h)}(h**Parameters**h]j)}(hj*h]h Parameters}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj$ubj)}(hhh](j)}(h5``struct folio_queue *folioq`` The segment to modify h](j)}(h``struct folio_queue *folioq``h]ju)}(hjIh]hstruct folio_queue *folioq}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jthjGubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjCubj)}(hhh]h)}(hThe segment to modifyh]hThe segment to modify}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^hKhj_ubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhj^hKhj@ubj)}(h=``unsigned int slot`` The slot number of the folio to modify h](j)}(h``unsigned int slot``h]ju)}(hjh]hunsigned int slot}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jthjubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj|ubj)}(hhh]h)}(h&The slot number of the folio to modifyh]h&The slot number of the folio to modify}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhj|ubeh}(h]h ]h"]h$]h&]uh1jhjhKhj@ubeh}(h]h ]h"]h$]h&]uh1jhj$ubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj$ubh)}(hRClear the third mark for the folio in the specified slot in a folio queue segment.h]hRClear the third mark for the folio in the specified slot in a folio queue segment.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj$ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_append (C function)c.folioq_appendhNtauh1jhjhhhNhNubj)}(hhh](j)}(hLunsigned int folioq_append (struct folio_queue *folioq, struct folio *folio)h]j)}(hKunsigned int folioq_append(struct folio_queue *folioq, struct folio *folio)h](j$)}(hunsignedh]hunsigned}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjhhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjhhhjhKubj$)}(hinth]hint}(hjhhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjhhhjhKubj6)}(h h]h }(hj-hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjhhhjhKubjG)}(h folioq_appendh]jM)}(h folioq_appendh]h folioq_append}(hj?hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj;ubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhjhhhjhKubjf)}(h1(struct folio_queue *folioq, struct folio *folio)h](jl)}(hstruct folio_queue *folioqh](jr)}(hjuh]hstruct}(hj[hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhjWubj6)}(h h]h }(hjhhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjWubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hjyhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjvubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj{modnameN classnameNjj)}j]j)}jjAsbc.folioq_appendasbuh1hhjWubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjWubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjWubjM)}(hfolioqh]hfolioq}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjWubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjSubjl)}(hstruct folio *folioh](jr)}(hjuh]hstruct}(hjhhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhjubj6)}(h h]h }(hjhhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubh)}(hhh]jM)}(hfolioh]hfolio}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.folioq_appendasbuh1hhjubj6)}(h h]h }(hj hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjM)}(hfolioh]hfolio}(hj$ hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhjSubeh}(h]h ]h"]h$]h&]hhuh1jehjhhhjhKubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhjhhhjhKubah}(h]jah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhjhKhjhhubj[)}(hhh]h)}(h$Add a folio to a folio queue segmenth]h$Add a folio to a folio queue segment}(hjN hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjK hhubah}(h]h ]h"]h$]h&]uh1jZhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|jf j}jf j~jjuh1jhhhjhNhNubj)}(hX**Parameters** ``struct folio_queue *folioq`` The segment to add to ``struct folio *folio`` The folio to add **Description** Add a folio to the tail of the sequence in a folio queue segment, increasing the occupancy count and returning the slot number for the folio just added. The folio size is extracted and stored in the queue and the marks are left unmodified. Note that it's left up to the caller to check that the segment capacity will not be exceeded and to extend the queue.h](h)}(h**Parameters**h]j)}(hjp h]h Parameters}(hjr hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjn ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjj ubj)}(hhh](j)}(h5``struct folio_queue *folioq`` The segment to add to h](j)}(h``struct folio_queue *folioq``h]ju)}(hj h]hstruct folio_queue *folioq}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj ubj)}(hhh]h)}(hThe segment to add toh]hThe segment to add to}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h)``struct folio *folio`` The folio to add h](j)}(h``struct folio *folio``h]ju)}(hj h]hstruct folio *folio}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj ubj)}(hhh]h)}(hThe folio to addh]hThe folio to add}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubeh}(h]h ]h"]h$]h&]uh1jhjj ubh)}(h**Description**h]j)}(hj!h]h Description}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjj ubh)}(hAdd a folio to the tail of the sequence in a folio queue segment, increasing the occupancy count and returning the slot number for the folio just added. The folio size is extracted and stored in the queue and the marks are left unmodified.h]hAdd a folio to the tail of the sequence in a folio queue segment, increasing the occupancy count and returning the slot number for the folio just added. The folio size is extracted and stored in the queue and the marks are left unmodified.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjj ubh)}(huNote that it's left up to the caller to check that the segment capacity will not be exceeded and to extend the queue.h]hwNote that it’s left up to the caller to check that the segment capacity will not be exceeded and to extend the queue.}(hj(!hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhjj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_append_mark (C function)c.folioq_append_markhNtauh1jhjhhhNhNubj)}(hhh](j)}(hQunsigned int folioq_append_mark (struct folio_queue *folioq, struct folio *folio)h]j)}(hPunsigned int folioq_append_mark(struct folio_queue *folioq, struct folio *folio)h](j$)}(hunsignedh]hunsigned}(hjW!hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjS!hhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKubj6)}(h h]h }(hjf!hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjS!hhhje!hKubj$)}(hinth]hint}(hjt!hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hjS!hhhje!hKubj6)}(h h]h }(hj!hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjS!hhhje!hKubjG)}(hfolioq_append_markh]jM)}(hfolioq_append_markh]hfolioq_append_mark}(hj!hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj!ubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhjS!hhhje!hKubjf)}(h1(struct folio_queue *folioq, struct folio *folio)h](jl)}(hstruct folio_queue *folioqh](jr)}(hjuh]hstruct}(hj!hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhj!ubj6)}(h h]h }(hj!hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj!ubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hj!hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj!ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj!modnameN classnameNjj)}j]j)}jj!sbc.folioq_append_markasbuh1hhj!ubj6)}(h h]h }(hj!hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj!ubj)}(hjh]h*}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubjM)}(hfolioqh]hfolioq}(hj "hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj!ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj!ubjl)}(hstruct folio *folioh](jr)}(hjuh]hstruct}(hj""hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhj"ubj6)}(h h]h }(hj/"hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj"ubh)}(hhh]jM)}(hfolioh]hfolio}(hj@"hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj="ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjB"modnameN classnameNjj)}j]j!c.folioq_append_markasbuh1hhj"ubj6)}(h h]h }(hj^"hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj"ubj)}(hjh]h*}(hjl"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"ubjM)}(hfolioh]hfolio}(hjy"hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj"ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj!ubeh}(h]h ]h"]h$]h&]hhuh1jehjS!hhhje!hKubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhjO!hhhje!hKubah}(h]jJ!ah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhje!hKhjL!hhubj[)}(hhh]h)}(h$Add a folio to a folio queue segmenth]h$Add a folio to a folio queue segment}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj"hhubah}(h]h ]h"]h$]h&]uh1jZhjL!hhhje!hKubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|j"j}j"j~jjuh1jhhhjhNhNubj)}(hX**Parameters** ``struct folio_queue *folioq`` The segment to add to ``struct folio *folio`` The folio to add **Description** Add a folio to the tail of the sequence in a folio queue segment, increasing the occupancy count and returning the slot number for the folio just added. The folio size is extracted and stored in the queue, the first mark is set and and the second and third marks are left unmodified. Note that it's left up to the caller to check that the segment capacity will not be exceeded and to extend the queue.h](h)}(h**Parameters**h]j)}(hj"h]h Parameters}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj"ubj)}(hhh](j)}(h5``struct folio_queue *folioq`` The segment to add to h](j)}(h``struct folio_queue *folioq``h]ju)}(hj"h]hstruct folio_queue *folioq}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj"ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj"ubj)}(hhh]h)}(hThe segment to add toh]hThe segment to add to}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"hKhj"ubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jhj"hKhj"ubj)}(h)``struct folio *folio`` The folio to add h](j)}(h``struct folio *folio``h]ju)}(hj#h]hstruct folio *folio}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj#ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj#ubj)}(hhh]h)}(hThe folio to addh]hThe folio to add}(hj6#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2#hKhj3#ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhj2#hKhj"ubeh}(h]h ]h"]h$]h&]uh1jhj"ubh)}(h**Description**h]j)}(hjX#h]h Description}(hjZ#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjV#ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj"ubh)}(hXAdd a folio to the tail of the sequence in a folio queue segment, increasing the occupancy count and returning the slot number for the folio just added. The folio size is extracted and stored in the queue, the first mark is set and and the second and third marks are left unmodified.h]hXAdd a folio to the tail of the sequence in a folio queue segment, increasing the occupancy count and returning the slot number for the folio just added. The folio size is extracted and stored in the queue, the first mark is set and and the second and third marks are left unmodified.}(hjn#hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj"ubh)}(huNote that it's left up to the caller to check that the segment capacity will not be exceeded and to extend the queue.h]hwNote that it’s left up to the caller to check that the segment capacity will not be exceeded and to extend the queue.}(hj}#hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhKhj"ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_folio (C function)c.folioq_foliohNtauh1jhjhhhNhNubj)}(hhh](j)}(hQstruct folio * folioq_folio (const struct folio_queue *folioq, unsigned int slot)h]j)}(hOstruct folio *folioq_folio(const struct folio_queue *folioq, unsigned int slot)h](jr)}(hjuh]hstruct}(hj#hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhj#hhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhMubj6)}(h h]h }(hj#hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj#hhhj#hMubh)}(hhh]jM)}(hfolioh]hfolio}(hj#hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj#ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj#modnameN classnameNjj)}j]j)}j folioq_foliosbc.folioq_folioasbuh1hhj#hhhj#hMubj6)}(h h]h }(hj#hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj#hhhj#hMubj)}(hjh]h*}(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#hhhj#hMubjG)}(h folioq_folioh]jM)}(hj#h]h folioq_folio}(hj $hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj$ubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhj#hhhj#hMubjf)}(h5(const struct folio_queue *folioq, unsigned int slot)h](jl)}(h const struct folio_queue *folioqh](jr)}(hjh]hconst}(hj&$hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhj"$ubj6)}(h h]h }(hj3$hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj"$ubjr)}(hjuh]hstruct}(hjA$hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhj"$ubj6)}(h h]h }(hjN$hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj"$ubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hj_$hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj\$ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetja$modnameN classnameNjj)}j]j#c.folioq_folioasbuh1hhj"$ubj6)}(h h]h }(hj}$hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj"$ubj)}(hjh]h*}(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"$ubjM)}(hfolioqh]hfolioq}(hj$hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj"$ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj$ubjl)}(hunsigned int sloth](j$)}(hunsignedh]hunsigned}(hj$hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj$ubj6)}(h h]h }(hj$hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj$ubj$)}(hinth]hint}(hj$hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj$ubj6)}(h h]h }(hj$hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj$ubjM)}(hsloth]hslot}(hj$hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj$ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj$ubeh}(h]h ]h"]h$]h&]hhuh1jehj#hhhj#hMubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhj#hhhj#hMubah}(h]j#ah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhj#hMhj#hhubj[)}(hhh]h)}(h&Get a folio from a folio queue segmenth]h&Get a folio from a folio queue segment}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM hj%hhubah}(h]h ]h"]h$]h&]uh1jZhj#hhhj#hMubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|j+%j}j+%j~jjuh1jhhhjhNhNubj)}(hXy**Parameters** ``const struct folio_queue *folioq`` The segment to access ``unsigned int slot`` The folio slot to access **Description** Retrieve the folio in the specified slot from a folio queue segment. Note that no bounds check is made and if the slot hasn't been added into yet, the pointer will be undefined. If the slot has been cleared, NULL will be returned.h](h)}(h**Parameters**h]j)}(hj5%h]h Parameters}(hj7%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3%ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhMhj/%ubj)}(hhh](j)}(h;``const struct folio_queue *folioq`` The segment to access h](j)}(h$``const struct folio_queue *folioq``h]ju)}(hjT%h]h const struct folio_queue *folioq}(hjV%hhhNhNubah}(h]h ]h"]h$]h&]uh1jthjR%ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM hjN%ubj)}(hhh]h)}(hThe segment to accessh]hThe segment to access}(hjm%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhji%hM hjj%ubah}(h]h ]h"]h$]h&]uh1jhjN%ubeh}(h]h ]h"]h$]h&]uh1jhji%hM hjK%ubj)}(h/``unsigned int slot`` The folio slot to access h](j)}(h``unsigned int slot``h]ju)}(hj%h]hunsigned int slot}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj%ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM hj%ubj)}(hhh]h)}(hThe folio slot to accessh]hThe folio slot to access}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%hM hj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhj%hM hjK%ubeh}(h]h ]h"]h$]h&]uh1jhj/%ubh)}(h**Description**h]j)}(hj%h]h Description}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhMhj/%ubh)}(hRetrieve the folio in the specified slot from a folio queue segment. Note that no bounds check is made and if the slot hasn't been added into yet, the pointer will be undefined. If the slot has been cleared, NULL will be returned.h]hRetrieve the folio in the specified slot from a folio queue segment. Note that no bounds check is made and if the slot hasn’t been added into yet, the pointer will be undefined. If the slot has been cleared, NULL will be returned.}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhMhj/%ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_folio_order (C function)c.folioq_folio_orderhNtauh1jhjhhhNhNubj)}(hhh](j)}(hUunsigned int folioq_folio_order (const struct folio_queue *folioq, unsigned int slot)h]j)}(hTunsigned int folioq_folio_order(const struct folio_queue *folioq, unsigned int slot)h](j$)}(hunsignedh]hunsigned}(hj &hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj &hhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM!ubj6)}(h h]h }(hj&hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj &hhhj&hM!ubj$)}(hinth]hint}(hj*&hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj &hhhj&hM!ubj6)}(h h]h }(hj8&hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj &hhhj&hM!ubjG)}(hfolioq_folio_orderh]jM)}(hfolioq_folio_orderh]hfolioq_folio_order}(hjJ&hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjF&ubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhj &hhhj&hM!ubjf)}(h5(const struct folio_queue *folioq, unsigned int slot)h](jl)}(h const struct folio_queue *folioqh](jr)}(hjh]hconst}(hjf&hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhjb&ubj6)}(h h]h }(hjs&hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjb&ubjr)}(hjuh]hstruct}(hj&hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhjb&ubj6)}(h h]h }(hj&hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjb&ubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hj&hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj&ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj&modnameN classnameNjj)}j]j)}jjL&sbc.folioq_folio_orderasbuh1hhjb&ubj6)}(h h]h }(hj&hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjb&ubj)}(hjh]h*}(hj&hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjb&ubjM)}(hfolioqh]hfolioq}(hj&hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjb&ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj^&ubjl)}(hunsigned int sloth](j$)}(hunsignedh]hunsigned}(hj&hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj&ubj6)}(h h]h }(hj'hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj&ubj$)}(hinth]hint}(hj'hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj&ubj6)}(h h]h }(hj'hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj&ubjM)}(hsloth]hslot}(hj+'hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj&ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj^&ubeh}(h]h ]h"]h$]h&]hhuh1jehj &hhhj&hM!ubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhj&hhhj&hM!ubah}(h]j&ah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhj&hM!hj&hhubj[)}(hhh]h)}(h3Get the order of a folio from a folio queue segmenth]h3Get the order of a folio from a folio queue segment}(hjU'hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhMhjR'hhubah}(h]h ]h"]h$]h&]uh1jZhj&hhhj&hM!ubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|jm'j}jm'j~jjuh1jhhhjhNhNubj)}(hXO**Parameters** ``const struct folio_queue *folioq`` The segment to access ``unsigned int slot`` The folio slot to access **Description** Retrieve the order of the folio in the specified slot from a folio queue segment. Note that no bounds check is made and if the slot hasn't been added into yet, the order returned will be 0.h](h)}(h**Parameters**h]j)}(hjw'h]h Parameters}(hjy'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhju'ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhMhjq'ubj)}(hhh](j)}(h;``const struct folio_queue *folioq`` The segment to access h](j)}(h$``const struct folio_queue *folioq``h]ju)}(hj'h]h const struct folio_queue *folioq}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj'ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhMhj'ubj)}(hhh]h)}(hThe segment to accessh]hThe segment to access}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'hMhj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj'hMhj'ubj)}(h/``unsigned int slot`` The folio slot to access h](j)}(h``unsigned int slot``h]ju)}(hj'h]hunsigned int slot}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj'ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhMhj'ubj)}(hhh]h)}(hThe folio slot to accessh]hThe folio slot to access}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'hMhj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj'hMhj'ubeh}(h]h ]h"]h$]h&]uh1jhjq'ubh)}(h**Description**h]j)}(hj (h]h Description}(hj (hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhMhjq'ubh)}(hRetrieve the order of the folio in the specified slot from a folio queue segment. Note that no bounds check is made and if the slot hasn't been added into yet, the order returned will be 0.h]hRetrieve the order of the folio in the specified slot from a folio queue segment. Note that no bounds check is made and if the slot hasn’t been added into yet, the order returned will be 0.}(hj (hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhMhjq'ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_folio_size (C function)c.folioq_folio_sizehNtauh1jhjhhhNhNubj)}(hhh](j)}(hNsize_t folioq_folio_size (const struct folio_queue *folioq, unsigned int slot)h]j)}(hMsize_t folioq_folio_size(const struct folio_queue *folioq, unsigned int slot)h](h)}(hhh]jM)}(hsize_th]hsize_t}(hjR(hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhjO(ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjT(modnameN classnameNjj)}j]j)}jfolioq_folio_sizesbc.folioq_folio_sizeasbuh1hhjK(hhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM/ubj6)}(h h]h }(hjt(hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hjK(hhhjs(hM/ubjG)}(hfolioq_folio_sizeh]jM)}(hjp(h]hfolioq_folio_size}(hj(hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj(ubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhjK(hhhjs(hM/ubjf)}(h5(const struct folio_queue *folioq, unsigned int slot)h](jl)}(h const struct folio_queue *folioqh](jr)}(hjh]hconst}(hj(hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhj(ubj6)}(h h]h }(hj(hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj(ubjr)}(hjuh]hstruct}(hj(hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhj(ubj6)}(h h]h }(hj(hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj(ubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hj(hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj(ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj(modnameN classnameNjj)}j]jn(c.folioq_folio_sizeasbuh1hhj(ubj6)}(h h]h }(hj(hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj(ubj)}(hjh]h*}(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(ubjM)}(hfolioqh]hfolioq}(hj)hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj(ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj(ubjl)}(hunsigned int sloth](j$)}(hunsignedh]hunsigned}(hj,)hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj()ubj6)}(h h]h }(hj:)hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj()ubj$)}(hinth]hint}(hjH)hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj()ubj6)}(h h]h }(hjV)hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj()ubjM)}(hsloth]hslot}(hjd)hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj()ubeh}(h]h ]h"]h$]h&]noemphhhuh1jk/hj(ubeh}(h]h ]h"]h$]h&]hhuh1jehjK(hhhjs(hM/ubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhjG(hhhjs(hM/ubah}(h]jB(ah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhjs(hM/hjD(hhubj[)}(hhh]h)}(h2Get the size of a folio from a folio queue segmenth]h2Get the size of a folio from a folio queue segment}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM'hj)hhubah}(h]h ]h"]h$]h&]uh1jZhjD(hhhjs(hM/ubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|j)j}j)j~jjuh1jhhhjhNhNubj)}(hXU**Parameters** ``const struct folio_queue *folioq`` The segment to access ``unsigned int slot`` The folio slot to access **Description** Retrieve the size of the folio in the specified slot from a folio queue segment. Note that no bounds check is made and if the slot hasn't been added into yet, the size returned will be PAGE_SIZE.h](h)}(h**Parameters**h]j)}(hj)h]h Parameters}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM+hj)ubj)}(hhh](j)}(h;``const struct folio_queue *folioq`` The segment to access h](j)}(h$``const struct folio_queue *folioq``h]ju)}(hj)h]h const struct folio_queue *folioq}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj)ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM(hj)ubj)}(hhh]h)}(hThe segment to accessh]hThe segment to access}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)hM(hj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj)hM(hj)ubj)}(h/``unsigned int slot`` The folio slot to access h](j)}(h``unsigned int slot``h]ju)}(hj*h]hunsigned int slot}(hj *hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj*ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM)hj*ubj)}(hhh]h)}(hThe folio slot to accessh]hThe folio slot to access}(hj!*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*hM)hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj*hM)hj)ubeh}(h]h ]h"]h$]h&]uh1jhj)ubh)}(h**Description**h]j)}(hjC*h]h Description}(hjE*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjA*ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM+hj)ubh)}(hRetrieve the size of the folio in the specified slot from a folio queue segment. Note that no bounds check is made and if the slot hasn't been added into yet, the size returned will be PAGE_SIZE.h]hRetrieve the size of the folio in the specified slot from a folio queue segment. Note that no bounds check is made and if the slot hasn’t been added into yet, the size returned will be PAGE_SIZE.}(hjY*hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM+hj)ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jfolioq_clear (C function)c.folioq_clearhNtauh1jhjhhhNhNubj)}(hhh](j)}(hAvoid folioq_clear (struct folio_queue *folioq, unsigned int slot)h]j)}(h@void folioq_clear(struct folio_queue *folioq, unsigned int slot)h](j$)}(hvoidh]hvoid}(hj*hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj*hhha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM<ubj6)}(h h]h }(hj*hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj*hhhj*hM<ubjG)}(h folioq_clearh]jM)}(h folioq_clearh]h folioq_clear}(hj*hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj*ubah}(h]h ](j`jaeh"]h$]h&]hhuh1jFhj*hhhj*hM<ubjf)}(h/(struct folio_queue *folioq, unsigned int slot)h](jl)}(hstruct folio_queue *folioqh](jr)}(hjuh]hstruct}(hj*hhhNhNubah}(h]h ]j~ah"]h$]h&]uh1jqhj*ubj6)}(h h]h }(hj*hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj*ubh)}(hhh]jM)}(h folio_queueh]h folio_queue}(hj*hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj*ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj*modnameN classnameNjj)}j]j)}jj*sbc.folioq_clearasbuh1hhj*ubj6)}(h h]h }(hj+hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj*ubj)}(hjh]h*}(hj+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*ubjM)}(hfolioqh]hfolioq}(hj+hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj*ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj*ubjl)}(hunsigned int sloth](j$)}(hunsignedh]hunsigned}(hj7+hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj3+ubj6)}(h h]h }(hjE+hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj3+ubj$)}(hinth]hint}(hjS+hhhNhNubah}(h]h ]j0ah"]h$]h&]uh1j#hj3+ubj6)}(h h]h }(hja+hhhNhNubah}(h]h ]jBah"]h$]h&]uh1j5hj3+ubjM)}(hsloth]hslot}(hjo+hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jLhj3+ubeh}(h]h ]h"]h$]h&]noemphhhuh1jkhj*ubeh}(h]h ]h"]h$]h&]hhuh1jehj*hhhj*hM<ubeh}(h]h ]h"]h$]h&]hhjLuh1jjMjNhj*hhhj*hM<ubah}(h]j{*ah ](jRjSeh"]h$]h&]jWjX)jYhuh1jhj*hM<hj}*hhubj[)}(hhh]h)}(h(Clear a folio from a folio queue segmenth]h(Clear a folio from a folio queue segment}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM5hj+hhubah}(h]h ]h"]h$]h&]uh1jZhj}*hhhj*hM<ubeh}(h]h ](jfunctioneh"]h$]h&]j{jj|j+j}j+j~jjuh1jhhhjhNhNubj)}(h**Parameters** ``struct folio_queue *folioq`` The segment to clear ``unsigned int slot`` The folio slot to clear **Description** Clear a folio from a sequence in a folio queue segment and clear its marks. The occupancy count is left unchanged.h](h)}(h**Parameters**h]j)}(hj+h]h Parameters}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM9hj+ubj)}(hhh](j)}(h4``struct folio_queue *folioq`` The segment to clear h](j)}(h``struct folio_queue *folioq``h]ju)}(hj+h]hstruct folio_queue *folioq}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj+ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM6hj+ubj)}(hhh]h)}(hThe segment to clearh]hThe segment to clear}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+hM6hj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj+hM6hj+ubj)}(h.``unsigned int slot`` The folio slot to clear h](j)}(h``unsigned int slot``h]ju)}(hj,h]hunsigned int slot}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jthj,ubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM7hj ,ubj)}(hhh]h)}(hThe folio slot to clearh]hThe folio slot to clear}(hj,,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(,hM7hj),ubah}(h]h ]h"]h$]h&]uh1jhj ,ubeh}(h]h ]h"]h$]h&]uh1jhj(,hM7hj+ubeh}(h]h ]h"]h$]h&]uh1jhj+ubh)}(h**Description**h]j)}(hjN,h]h Description}(hjP,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjL,ubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM9hj+ubh)}(hrClear a folio from a sequence in a folio queue segment and clear its marks. The occupancy count is left unchanged.h]hrClear a folio from a sequence in a folio queue segment and clear its marks. The occupancy count is left unchanged.}(hjd,hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/core-api/folio_queue:212: ./include/linux/folio_queue.hhM9hj+ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubeh}(h]api-function-referenceah ]h"]api function referenceah$]h&]uh1hhhhhhhhKubeh}(h] folio-queueah ]h"] folio queueah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj,error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j,j,jZjWjjj jjijfjjjCj@jjjjj,j|,u nametypes}(j,jZjj jijjCjjj,uh}(j,hjWj/jj]jjjfj jjlj@jjjFjjj|,jjjjmjrj& j+ j j jD jI jijnjtjyjjjjjjjjjjjjjjjJ!jO!j#j#j&j&jB(jG(j{*j*u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.