LCOV - code coverage report
Current view: top level - mm - shuffle.h (source / functions) Hit Total Coverage
Test: landlock.info Lines: 4 4 100.0 %
Date: 2021-04-22 12:43:58 Functions: 0 0 -

          Line data    Source code
       1             : // SPDX-License-Identifier: GPL-2.0
       2             : // Copyright(c) 2018 Intel Corporation. All rights reserved.
       3             : #ifndef _MM_SHUFFLE_H
       4             : #define _MM_SHUFFLE_H
       5             : #include <linux/jump_label.h>
       6             : 
       7             : #define SHUFFLE_ORDER (MAX_ORDER-1)
       8             : 
       9             : #ifdef CONFIG_SHUFFLE_PAGE_ALLOCATOR
      10             : DECLARE_STATIC_KEY_FALSE(page_alloc_shuffle_key);
      11             : extern void __shuffle_free_memory(pg_data_t *pgdat);
      12             : extern bool shuffle_pick_tail(void);
      13             : static inline void shuffle_free_memory(pg_data_t *pgdat)
      14             : {
      15             :         if (!static_branch_unlikely(&page_alloc_shuffle_key))
      16             :                 return;
      17             :         __shuffle_free_memory(pgdat);
      18             : }
      19             : 
      20             : extern void __shuffle_zone(struct zone *z);
      21             : static inline void shuffle_zone(struct zone *z)
      22             : {
      23             :         if (!static_branch_unlikely(&page_alloc_shuffle_key))
      24             :                 return;
      25             :         __shuffle_zone(z);
      26             : }
      27             : 
      28             : static inline bool is_shuffle_order(int order)
      29             : {
      30             :         if (!static_branch_unlikely(&page_alloc_shuffle_key))
      31             :                 return false;
      32             :         return order >= SHUFFLE_ORDER;
      33             : }
      34             : #else
      35             : static inline bool shuffle_pick_tail(void)
      36             : {
      37             :         return false;
      38             : }
      39             : 
      40           1 : static inline void shuffle_free_memory(pg_data_t *pgdat)
      41             : {
      42           1 : }
      43             : 
      44             : static inline void shuffle_zone(struct zone *z)
      45             : {
      46             : }
      47             : 
      48       37217 : static inline bool is_shuffle_order(int order)
      49             : {
      50       37217 :         return false;
      51             : }
      52             : #endif
      53             : #endif /* _MM_SHUFFLE_H */

Generated by: LCOV version 1.14