Documentation/networking/devlink/devlink-resource.rst GitHub 원문 ↗

Linux 6.18.37 · Networking

Devlink Resource

장치 resource의 계층적 ID, 용량·사용량 조회, 크기 변경과 reload 적용을 설명합니다.

Source pathDocumentation/networking/devlink/devlink-resource.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

2. 영어 원문 전체

번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 ================
4 Devlink Resource
5 ================
6
7 ``devlink`` provides the ability for drivers to register resources, which
8 can allow administrators to see the device restrictions for a given
9 resource, as well as how much of the given resource is currently
10 in use. Additionally, these resources can optionally have configurable size.
11 This could enable the administrator to limit the number of resources that
12 are used.
13
14 For example, the ``netdevsim`` driver enables ``/IPv4/fib`` and
15 ``/IPv4/fib-rules`` as resources to limit the number of IPv4 FIB entries and
16 rules for a given device.
17
18 Resource Ids
19 ============
20
21 Each resource is represented by an id, and contains information about its
22 current size and related sub resources. To access a sub resource, you
23 specify the path of the resource. For example ``/IPv4/fib`` is the id for
24 the ``fib`` sub-resource under the ``IPv4`` resource.
25
26 Generic Resources
27 =================
28
29 Generic resources are used to describe resources that can be shared by multiple
30 device drivers and their description must be added to the following table:
31
32 .. list-table:: List of Generic Resources
33 :widths: 10 90
34
35 * - Name
36 - Description
37 * - ``physical_ports``
38 - A limited capacity of physical ports that the switch ASIC can support
39
40 example usage
41 -------------
42
43 The resources exposed by the driver can be observed, for example:
44
45 .. code:: shell
46
47 $devlink resource show pci/0000:03:00.0
48 pci/0000:03:00.0:
49 name kvd size 245760 unit entry
50 resources:
51 name linear size 98304 occ 0 unit entry size_min 0 size_max 147456 size_gran 128
52 name hash_double size 60416 unit entry size_min 32768 size_max 180224 size_gran 128
53 name hash_single size 87040 unit entry size_min 65536 size_max 212992 size_gran 128
54
55 Some resource's size can be changed. Examples:
56
57 .. code:: shell
58
59 $devlink resource set pci/0000:03:00.0 path /kvd/hash_single size 73088
60 $devlink resource set pci/0000:03:00.0 path /kvd/hash_double size 74368
61
62 The changes do not apply immediately, this can be validated by the 'size_new'
63 attribute, which represents the pending change in size. For example:
64
65 .. code:: shell
66
67 $devlink resource show pci/0000:03:00.0
68 pci/0000:03:00.0:
69 name kvd size 245760 unit entry size_valid false
70 resources:
71 name linear size 98304 size_new 147456 occ 0 unit entry size_min 0 size_max 147456 size_gran 128
72 name hash_double size 60416 unit entry size_min 32768 size_max 180224 size_gran 128
73 name hash_single size 87040 unit entry size_min 65536 size_max 212992 size_gran 128
74
75 Note that changes in resource size may require a device reload to properly
76 take effect.
77

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.