Function report |
Source Code:arch\x86\kernel\cpu\resctrl\pseudo_lock.c |
Create Date:2022-07-28 08:14:16 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:dtgroup_pseudo_lock_create - Create a pseudo-locked region*@rdtgrp: resource group to which pseudo-lock region belongs* Called when a resource group in the pseudo-locksetup mode receives a* valid schemata that should be pseudo-locked
Proto:int rdtgroup_pseudo_lock_create(struct rdtgroup *rdtgrp)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct rdtgroup * | rdtgrp |
| 1283 | ret = pseudo_lock_cstates_constrain - Restrict cores from entering C6* To prevent the cache from being affected by power management entering* C6 has to be avoided |
| 1284 | If ret < 0 Then |
| 1286 | Go to out_region |
| 1289 | thread_done = 0 |
| 1296 | rdt_last_cmd_printf("Locking thread returned error %d\n", ret) |
| 1297 | Go to out_cstates |
| 1300 | kthread_bind(thread, cpu) |
| 1301 | wake_up_process(thread) |
| 1305 | If ret < 0 Then |
| 1314 | rdt_last_cmd_puts("Locking thread interrupted\n") |
| 1315 | Go to out_cstates |
| 1319 | If ret < 0 Then |
| 1320 | rdt_last_cmd_puts("Unable to obtain a new minor number\n") |
| 1321 | Go to out_cstates |
| 1335 | If Not IS_ERR_OR_NULL(debugfs_resctrl) Then |
| 1336 | debugfs_dir = debugfs_create_dir(name, debugfs_resctrl) |
| 1338 | If Not IS_ERR_OR_NULL(debugfs_dir) Then debugfs_create_file("pseudo_lock_measure", 0200, debugfs_dir, rdtgrp, & pseudo_measure_fops) |
| 1344 | dev = device_create(pseudo_lock_class, NULL, MKDEV(Major number assigned to and shared by all devices exposing* pseudo-locked regions., new_minor), rdtgrp, "%s", name) |
| 1348 | mutex_lock( & Mutex to protect rdtgroup access. ) |
| 1352 | rdt_last_cmd_printf("Failed to create character device: %d\n", ret) |
| 1354 | Go to out_debugfs |
| 1358 | If flags & dtgroup.flags Then |
| 1360 | Go to out_device |
| 1365 | mode = RDT_MODE_PSEUDO_LOCKED |
| 1366 | closid_free(closid) |
| 1370 | ret = 0 |
| 1371 | Go to out |
| 1373 | out_device : |
| 1374 | device_destroy(pseudo_lock_class, MKDEV(Major number assigned to and shared by all devices exposing* pseudo-locked regions., new_minor)) |
| 1375 | out_debugfs : |
| 1377 | pseudo_lock_minor_release - Return minor number to available*@minor: The minor number made available |
| 1378 | out_cstates : |
| 1379 | pseudo_lock_cstates_relax(plr) |
| 1380 | out_region : |
| 1382 | out : |
| 1383 | Return ret |
| Name | Describe |
|---|---|
| rdtgroup_schemata_write |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |