| /linux/mm/damon/ |
| H A D | sysfs-schemes.c | 2012 struct damon_sysfs_scheme *scheme = kmalloc_obj(*scheme); in damon_sysfs_scheme_alloc() local 2014 if (!scheme) in damon_sysfs_scheme_alloc() 2016 scheme->kobj = (struct kobject){}; in damon_sysfs_scheme_alloc() 2017 scheme->action = action; in damon_sysfs_scheme_alloc() 2018 scheme->apply_interval_us = apply_interval_us; in damon_sysfs_scheme_alloc() 2019 scheme->target_nid = NUMA_NO_NODE; in damon_sysfs_scheme_alloc() 2020 return scheme; in damon_sysfs_scheme_alloc() 2024 struct damon_sysfs_scheme *scheme) in damon_sysfs_scheme_set_access_pattern() argument 2033 &damon_sysfs_access_pattern_ktype, &scheme->kobj, in damon_sysfs_scheme_set_access_pattern() 2040 scheme->access_pattern = access_pattern; in damon_sysfs_scheme_set_access_pattern() [all …]
|
| H A D | paddr.c | 126 static bool damos_pa_filter_out(struct damos *scheme, struct folio *folio) in damos_pa_filter_out() argument 130 if (scheme->core_filters_allowed) in damos_pa_filter_out() 133 damos_for_each_ops_filter(filter, scheme) { in damos_pa_filter_out() 137 return scheme->ops_filters_default_reject; in damos_pa_filter_out() 320 struct damos *scheme, unsigned long *sz_filter_passed) in damon_pa_apply_scheme() argument 324 switch (scheme->action) { in damon_pa_apply_scheme() 326 return damon_pa_pageout(r, aunit, scheme, sz_filter_passed); in damon_pa_apply_scheme() 328 return damon_pa_activate_pages(r, aunit, scheme, in damon_pa_apply_scheme() 331 return damon_pa_deactivate_pages(r, aunit, scheme, in damon_pa_apply_scheme() 335 return damon_pa_migrate(r, aunit, scheme, sz_filter_passed); in damon_pa_apply_scheme() [all …]
|
| H A D | reclaim.c | 195 struct damos *scheme; in damon_reclaim_apply_parameters() local 223 scheme = damon_reclaim_new_scheme(); in damon_reclaim_apply_parameters() 224 if (!scheme) in damon_reclaim_apply_parameters() 226 damon_set_schemes(param_ctx, &scheme, 1); in damon_reclaim_apply_parameters() 233 damos_add_quota_goal(&scheme->quota, goal); in damon_reclaim_apply_parameters() 241 damos_add_quota_goal(&scheme->quota, goal); in damon_reclaim_apply_parameters() 248 damos_add_filter(scheme, filter); in damon_reclaim_apply_parameters()
|
| H A D | vaddr.c | 611 static bool damos_va_filter_out(struct damos *scheme, struct folio *folio, in damos_va_filter_out() argument 618 if (scheme->core_filters_allowed) in damos_va_filter_out() 621 damos_for_each_ops_filter(filter, scheme) { in damos_va_filter_out() 637 return scheme->ops_filters_default_reject; in damos_va_filter_out() 642 struct damos *scheme; member 705 struct damos *s = priv->scheme; in damos_va_migrate_pmd_entry() 823 priv.scheme = s; in damos_va_migrate() 853 struct damos *scheme; member 867 struct damos *s = priv->scheme; in damos_va_stat_pmd_entry() 933 priv.scheme = s; in damos_va_stat() [all …]
|
| H A D | core.c | 386 struct damos *scheme; in damon_new_scheme() local 388 scheme = kmalloc_obj(*scheme); in damon_new_scheme() 389 if (!scheme) in damon_new_scheme() 391 scheme->pattern = *pattern; in damon_new_scheme() 392 scheme->action = action; in damon_new_scheme() 393 scheme->apply_interval_us = apply_interval_us; in damon_new_scheme() 399 scheme->next_apply_sis = 0; in damon_new_scheme() 400 scheme->walk_completed = false; in damon_new_scheme() 401 INIT_LIST_HEAD(&scheme->core_filters); in damon_new_scheme() 402 INIT_LIST_HEAD(&scheme->ops_filters); in damon_new_scheme() [all …]
|
| /linux/drivers/net/ethernet/freescale/fman/ |
| H A D | fman_keygen.c | 463 struct keygen_scheme *scheme; in keygen_bind_port_to_schemes() local 468 scheme = get_scheme(keygen, scheme_id); in keygen_bind_port_to_schemes() 469 if (!scheme) { in keygen_bind_port_to_schemes() 473 if (!scheme->used) { in keygen_bind_port_to_schemes() 480 ar_reg = build_ar_bind_scheme(scheme->hw_port_id, false); in keygen_bind_port_to_schemes() 489 ar_reg = build_ar_bind_scheme(scheme->hw_port_id, true); in keygen_bind_port_to_schemes() 514 struct keygen_scheme *scheme; in keygen_scheme_setup() local 518 scheme = get_scheme(keygen, scheme_id); in keygen_scheme_setup() 519 if (!scheme) { in keygen_scheme_setup() 523 if (enable && scheme->used) { in keygen_scheme_setup() [all …]
|
| /linux/tools/testing/selftests/damon/ |
| H A D | _damon_sysfs.py | 45 scheme = None variable in DamosAccessPattern 60 return os.path.join(self.scheme.sysfs_dir(), 'access_pattern') 137 scheme = None # owner scheme variable in DamosQuota 154 return os.path.join(self.scheme.sysfs_dir(), 'quotas') 202 scheme = None # owner scheme variable in DamosWatermarks 212 return os.path.join(self.scheme.sysfs_dir(), 'watermarks') 299 scheme = None # owner scheme variable in DamosFilters 309 return os.path.join(self.scheme.sysfs_dir(), self.name) 346 scheme = None # owner scheme variable in DamosDests 355 return os.path.join(self.scheme.sysfs_dir(), 'dests') [all …]
|
| H A D | sysfs.py | 112 def assert_scheme_committed(scheme, dump): argument 113 assert_access_pattern_committed(scheme.access_pattern, dump['pattern']) 126 assert_true(dump['action'] == action_val[scheme.action], 'action', dump) 127 assert_true(dump['apply_interval_us'] == scheme. apply_interval_us, 129 assert_true(dump['target_nid'] == scheme.target_nid, 'target_nid', dump) 130 assert_migrate_dests_committed(scheme.dests, dump['migrate_dests']) 131 assert_quota_committed(scheme.quota, dump['quota']) 132 assert_watermarks_committed(scheme.watermarks, dump['wmarks']) 134 for idx, f in enumerate(scheme.core_filters.filters): 136 for idx, f in enumerate(scheme.ops_filters.filters): [all …]
|
| H A D | damon_nr_regions.py | 49 scheme = kdamonds.kdamonds[0].contexts[0].schemes[0] 50 if scheme.tried_regions is None: 55 nr_tried_regions = len(scheme.tried_regions) 128 scheme = kdamonds.kdamonds[0].contexts[0].schemes[0] 129 if scheme.tried_regions is None: 134 nr_tried_regions = len(scheme.tried_regions)
|
| H A D | damos_tried_regions.py | 39 scheme = kdamonds.kdamonds[0].contexts[0].schemes[0] 40 if scheme.tried_regions is None: 45 nr_tried_regions = len(scheme.tried_regions)
|
| H A D | damos_quota.py | 49 scheme = kdamonds.kdamonds[0].contexts[0].schemes[0] 50 wss_collected.append(scheme.tried_bytes) 51 nr_quota_exceeds = scheme.stats.qt_exceeds
|
| H A D | drgn_dump_damon_status.py | 168 def scheme_to_dict(scheme): argument 169 dict_ = to_dict(scheme, [ 180 'struct damos_filter', scheme.core_filters.address_of_(), 'list'): 185 'struct damos_filter', scheme.ops_filters.address_of_(), 'list'):
|
| /linux/drivers/atm/ |
| H A D | fore200e.c | 285 int scheme, magn, nbr; in fore200e_free_rx_buf() local 288 for (scheme = 0; scheme < BUFFER_SCHEME_NBR; scheme++) { in fore200e_free_rx_buf() 291 if ((buffer = fore200e->host_bsq[ scheme ][ magn ].buffer) != NULL) { in fore200e_free_rx_buf() 293 for (nbr = 0; nbr < fore200e_rx_buf_nbr[ scheme ][ magn ]; nbr++) { in fore200e_free_rx_buf() 309 int scheme, magn; in fore200e_uninit_bs_queue() local 311 for (scheme = 0; scheme < BUFFER_SCHEME_NBR; scheme++) { in fore200e_uninit_bs_queue() 314 struct chunk* status = &fore200e->host_bsq[ scheme ][ magn ].status; in fore200e_uninit_bs_queue() 315 struct chunk* rbd_block = &fore200e->host_bsq[ scheme ][ magn ].rbd_block; in fore200e_uninit_bs_queue() 861 int bsq_audit(int where, struct host_bsq* bsq, int scheme, int magn) in bsq_audit() argument 871 where, scheme, magn, buffer->index); in bsq_audit() [all …]
|
| /linux/samples/damon/ |
| H A D | mtier.c | 79 struct damos *scheme; in damon_sample_mtier_build_ctx() local 128 scheme = damon_new_scheme( in damon_sample_mtier_build_ctx() 151 if (!scheme) in damon_sample_mtier_build_ctx() 153 damon_set_schemes(ctx, &scheme, 1); in damon_sample_mtier_build_ctx() 161 damos_add_quota_goal(&scheme->quota, quota_goal); in damon_sample_mtier_build_ctx() 165 damos_add_filter(scheme, filter); in damon_sample_mtier_build_ctx()
|
| H A D | prcl.c | 63 struct damos *scheme; in damon_sample_prcl_start() local 89 scheme = damon_new_scheme( in damon_sample_prcl_start() 102 if (!scheme) { in damon_sample_prcl_start() 106 damon_set_schemes(ctx, &scheme, 1); in damon_sample_prcl_start()
|
| /linux/include/linux/ |
| H A D | damon.h | 651 struct damos *scheme); 654 struct damos *scheme, unsigned long *sz_filter_passed); 886 #define damos_for_each_core_filter(f, scheme) \ argument 887 list_for_each_entry(f, &(scheme)->core_filters, list) 889 #define damos_for_each_core_filter_safe(f, next, scheme) \ argument 890 list_for_each_entry_safe(f, next, &(scheme)->core_filters, list) 892 #define damos_for_each_ops_filter(f, scheme) \ argument 893 list_for_each_entry(f, &(scheme)->ops_filters, list) 895 #define damos_for_each_ops_filter_safe(f, next, scheme) \ argument 896 list_for_each_entry_safe(f, next, &(scheme)->ops_filters, list)
|
| /linux/mm/damon/tests/ |
| H A D | core-kunit.h | 901 static void damos_test_help_initailize_scheme(struct damos *scheme) in damos_test_help_initailize_scheme() argument 903 INIT_LIST_HEAD(&scheme->quota.goals); in damos_test_help_initailize_scheme() 904 INIT_LIST_HEAD(&scheme->core_filters); in damos_test_help_initailize_scheme() 905 INIT_LIST_HEAD(&scheme->ops_filters); in damos_test_help_initailize_scheme() 1166 struct damos scheme; in damon_test_set_filters_default_reject() local 1169 INIT_LIST_HEAD(&scheme.core_filters); in damon_test_set_filters_default_reject() 1170 INIT_LIST_HEAD(&scheme.ops_filters); in damon_test_set_filters_default_reject() 1172 damos_set_filters_default_reject(&scheme); in damon_test_set_filters_default_reject() 1177 KUNIT_EXPECT_EQ(test, scheme.core_filters_default_reject, false); in damon_test_set_filters_default_reject() 1178 KUNIT_EXPECT_EQ(test, scheme.ops_filters_default_reject, false); in damon_test_set_filters_default_reject() [all …]
|
| /linux/drivers/net/wireless/ath/ath9k/ |
| H A D | btcoex.c | 118 if (btcoex_hw->scheme != ATH_BTCOEX_CFG_2WIRE && in ath9k_hw_btcoex_pin_init() 119 btcoex_hw->scheme != ATH_BTCOEX_CFG_3WIRE) in ath9k_hw_btcoex_pin_init() 136 btcoex_hw->scheme = ATH_BTCOEX_CFG_NONE; in ath9k_hw_btcoex_init_scheme() 141 btcoex_hw->scheme = ATH_BTCOEX_CFG_MCI; in ath9k_hw_btcoex_init_scheme() 143 btcoex_hw->scheme = ATH_BTCOEX_CFG_3WIRE; in ath9k_hw_btcoex_init_scheme() 150 btcoex_hw->scheme = ATH_BTCOEX_CFG_3WIRE; in ath9k_hw_btcoex_init_scheme() 152 btcoex_hw->scheme = ATH_BTCOEX_CFG_2WIRE; in ath9k_hw_btcoex_init_scheme() 424 if (btcoex_hw->scheme == ATH_BTCOEX_CFG_3WIRE) { in ath9k_hw_btcoex_disable()
|
| H A D | htc_drv_gpio.c | 176 if (ah->btcoex_hw.scheme == ATH_BTCOEX_CFG_3WIRE) in ath9k_htc_stop_btcoex() 192 ah->btcoex_hw.scheme = ATH_BTCOEX_CFG_NONE; in ath9k_htc_init_btcoex() 197 ah->btcoex_hw.scheme = ATH_BTCOEX_CFG_3WIRE; in ath9k_htc_init_btcoex()
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-kernel-mm-damon | 33 'tried_regions' directory of every scheme directory of this 200 directories for controlling each DAMON-based operation scheme 207 of the scheme. 219 the scheme in microseconds. Reading this file returns the 226 size of the scheme's target regions in bytes. 232 size of the scheme's target regions in bytes. 238 'nr_accesses' of the scheme's target regions. 244 'nr_accesses' of the scheme's target regions. 250 'age' of the scheme's target regions. 256 'age' of the scheme's target regions. [all …]
|
| /linux/Documentation/admin-guide/mm/damon/ |
| H A D | usage.rst | 152 DAMON-based operation scheme of the kdamond. For details of the stats, 154 - ``update_schemes_tried_regions``: Update the DAMON-based operation scheme 155 action tried regions directory for each DAMON-based operation scheme of the 156 kdamond. For details of the DAMON-based operation scheme action tried 161 - ``clear_schemes_tried_regions``: Clear the DAMON-based operating scheme 162 action tried regions directory for each DAMON-based operation scheme of the 165 ``effective_bytes`` files for each DAMON-based operation scheme of the 333 to ``N-1``. Each directory represents each DAMON-based operation scheme. 340 In each scheme directory, eight directories (``access_pattern``, ``quotas``, 345 The ``action`` file is for setting and getting the scheme's :ref:`action [all …]
|
| /linux/Documentation/mm/damon/ |
| H A D | design.rst | 216 This scheme, however, cannot preserve the quality of the output if the 494 regions that the scheme is having an interest in. 508 region having the access pattern of interest is found, applying the scheme's 536 scheme action. In contrast, the colder regions would be deprioritized for huge 537 page collapse scheme action. Hence, the prioritization mechanisms for each 563 aggressiveness (the quota) of the corresponding scheme. For example, if DAMOS 613 memory is guaranteed, running a scheme for proactive reclamation would only 621 high watermark or below the low watermark, the scheme is deactivated. If the 622 metric becomes below the mid watermark but above the low watermark, the scheme 646 number of filters for each scheme. Each filter specifies [all …]
|
| /linux/drivers/platform/wmi/ |
| H A D | Kconfig | 28 bool "Use legacy WMI device naming scheme" 31 scheme when creating WMI devices. Doing so might be necessary for some
|
| /linux/Documentation/userspace-api/media/v4l/ |
| H A D | pixfmt-srggb8-pisp-comp.rst | 32 Mode 1 uses a quantization and delta-based coding scheme which preserves up to 33 12 significant bits. Mode 2 is a simple sqrt-like companding scheme with 6 PWL 35 (with 4 chords) and the delta scheme, preserving up to 14 significant bits.
|
| /linux/Documentation/filesystems/ext4/ |
| H A D | ifork.rst | 36 Note that with this block mapping scheme, it is necessary to fill out a 38 led to the creation of the extent mapping scheme, discussed below. 40 Notice also that a file using this mapping scheme cannot be placed 47 tree. Under the old scheme, allocating a contiguous run of 1,000 blocks
|