Equipment testing method and device, equipment and medium
By modifying the server BIOS configuration file to adapt to the testing scene, to achieve testing of supporting CXL protocol devices, solve the problem of high test costs and efficiency in existing technology, and provide more convenient and efficient testing methods.
Patent Information
- Application Number
- CN202411407382.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-09
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2044-10-09
AI Technical Summary
When testing devices that support the computing fast link (CXL) protocol, the prior art relies on special analyzer hardware testing equipment, which is costly and inefficient, and has a large difference from actual customer application scenarios.
By determining and modifying the BIOS configuration file of the server, adjust the configuration information of the target device according to the test scene, so as to realize the test of the device that supports the CXL protocol in the server, there is no special analyzer hardware testing device.
This method can more conveniently achieve testing equipment that supports the CXL protocol, save costs, test effects better, and better meet the test needs of actual application scenarios.
Smart Images

Figure CN119336559A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of electronic technology, and in particular to a device testing method, apparatus, equipment and medium. Background Art
[0002] Compute eXpress Link (CXL) technology is a new type of high-speed interconnect technology that can increase data throughput and reduce latency to meet the needs of today's larger computing and storage systems. CXL is an open standard that can be used as a high-speed serial protocol, including a block input / output protocol (CXL.io) based on the high-speed serial computer expansion bus standard (PCI Express, PCIe), and a new cache consistency protocol for accessing system memory (CXL.cache) and device memory (CXL.mem). Devices using the CXL protocol have high-speed interconnect technology that can provide high-speed, large-capacity connections between central processing units (CPUs) and devices, CPUs and memory, and devices and devices for high-performance data center computers.
[0003] In the server, devices supporting the CXL protocol are set up to meet customers' needs for memory bandwidth and capacity expansion. However, before the server leaves the factory, the devices supporting the CXL protocol need to be tested. The current testing method is to use a dedicated analyzer hardware test device for testing. The analyzer hardware test device is not only costly and inefficient, but also may be quite different from the actual customer application scenario. Summary of the invention
[0004] The embodiments of the present application provide a device testing method, apparatus, equipment and medium, which are used to more conveniently implement testing of devices supporting the CXL protocol in a server, save costs, achieve good testing results, and meet testing requirements.
[0005] An embodiment of the present application provides a device testing method, including:
[0006] Determine a basic input and output system BIOS configuration file in the server, wherein the BIOS configuration file includes: configuration information supported by a target device to be tested in the server, the target device being a device supporting a computing express link CXL protocol;
[0007] According to the test scenario, the BIOS configuration file is modified to obtain a modified BIOS configuration file, and the server is restarted; wherein the modified BIOS configuration file includes: configuration information of the target device when the target device is run under the test scenario;
[0008] When the server is successfully restarted, it is detected whether the configuration information in the modified BIOS configuration file is effective, a first detection result is obtained, and based on the first detection result, first test information of whether the BIOS of the server supports the target device is output.
[0009] The method provided in the embodiment of the present application can determine a basic input and output system BIOS configuration file in a server, wherein the BIOS configuration file includes: configuration information supported by a target device to be tested in the server, the target device being a device supporting the Compute Express Link (CXL) protocol; and, according to a test scenario, modifying the BIOS configuration file to obtain a modified BIOS configuration file, and restarting the server, wherein the modified BIOS configuration file includes: configuration information of the target device when the target device is run under the test scenario, so that the modified BIOS configuration file takes effect; therefore, when the server is successfully restarted, it is detected whether the configuration information in the modified BIOS configuration file takes effect, a first detection result is obtained, and based on the first detection result, first test information of whether the BIOS of the server supports the target device is output, so that the test of the target device supporting the CXL protocol in the server can be more conveniently implemented based on the BIOS configuration file, without the need to use a special analyzer hardware test device for testing, thereby saving the test cost and achieving a good test effect. By modifying the BIOS configuration file according to the test scenario and testing the target device supporting the CXL protocol in the server based on the modified BIOS configuration file, the test requirements of the test scenario in actual application situations can be better met.
[0010] In some embodiments, the method further comprises:
[0011] Determine an operating system OS configuration file in the server, including operating system kernel version information;
[0012] Based on the OS configuration file, detect whether the operating system kernel version of the server is higher than or equal to a preset version, obtain a second detection result, and based on the second detection result, output second test information of whether the OS of the server supports the target device; wherein the preset version is the operating system kernel version that supports the target device.
[0013] Therefore, the embodiment of the present application can also implement more comprehensive testing of target devices supporting the CXL protocol in the server based on the OS configuration file, which not only saves costs but also obtains better testing results and meets more testing requirements.
[0014] In some embodiments, the method further comprises:
[0015] Detecting whether the target device exists in the server to obtain a third detection result;
[0016] Based on the second detection result, outputting second test information of whether the OS of the server supports the target device includes:
[0017] Based on the second detection result and the third detection result, second test information of whether the OS of the server supports the target device is output.
[0018] Therefore, the embodiment of the present application can also further realize more comprehensive test information for the target device supporting the CXL protocol in the server based on the OS configuration file and the detection result of whether the target device exists in the server, which not only saves costs but also can further obtain better test results and meet more test needs.
[0019] In some embodiments, the method further comprises:
[0020] When it is detected that the target device exists in the server, the address information of the target device in the server is recorded.
[0021] Therefore, when the embodiment of the present application detects that a target device supporting the CXL protocol exists in the server, the address information of the target device in the server may also be recorded to facilitate operations such as testing.
[0022] In some embodiments, the method further comprises:
[0023] Based on the address information of the target device in the server, the status information of the target device is detected to obtain a fourth detection result, and based on the fourth detection result, third test information of whether the hardware of the server supports the target device is output.
[0024] Therefore, when the embodiment of the present application detects that a target device supporting the CXL protocol exists in the server, the state information of the target device supporting the CXL protocol can be detected based on the recorded address information of the target device in the server, and more comprehensive test information for the target device can be further obtained.
[0025] In some embodiments, the OS configuration file includes the following three configuration files:
[0026] Functional test profile, performance test profile, stress test profile.
[0027] Therefore, the embodiments of the present application can meet different types of testing requirements and achieve more comprehensive testing functions.
[0028] In some embodiments, the BIOS configuration file includes the following three configuration files:
[0029] Functional test profile, performance test profile, stress test profile.
[0030] Therefore, the embodiments of the present application can meet different types of testing requirements and achieve more comprehensive testing functions.
[0031] An embodiment of the present application provides a device testing apparatus, comprising:
[0032] A configuration file determining unit, configured to determine a basic input and output system BIOS configuration file in the server, wherein the BIOS configuration file includes: configuration information supported by a target device to be tested in the server, wherein the target device is a device supporting a computing fast link CXL protocol;
[0033] A configuration file modification unit, configured to modify the BIOS configuration file according to a test scenario, obtain a modified BIOS configuration file, and restart the server; wherein the modified BIOS configuration file includes: configuration information of the target device when the target device is run under the test scenario;
[0034] The testing unit is used to detect whether the configuration information in the modified BIOS configuration file is effective when the server is successfully restarted, obtain a first detection result, and output first test information of whether the BIOS of the server supports the target device based on the first detection result.
[0035] Therefore, the embodiment of the present application also provides a testing device that can more conveniently implement testing of devices supporting the CXL protocol in the server. There is no need to use special analyzer hardware testing equipment to perform testing. Based on the BIOS configuration file, the test of the target device supporting the CXL protocol in the server can be conveniently implemented, thereby saving testing costs and achieving better testing results. The device modifies the BIOS configuration file according to the test scenario, and tests the target device supporting the CXL protocol in the server based on the modified BIOS configuration file, thereby better meeting the testing requirements of the testing scenarios in actual application situations.
[0036] Another embodiment of the present application provides an electronic device, which includes a memory and a processor, wherein the memory is used to store program instructions, and the processor is used to call the program instructions stored in the memory and execute any of the above methods according to the obtained program.
[0037] Therefore, the embodiment of the present application also provides an electronic device that can more conveniently implement testing of devices supporting the CXL protocol in a server. For example, it can be the server itself or an electronic device inside the server. There is no need to use a special analyzer hardware testing device for testing. Based on the BIOS configuration file, it is possible to conveniently implement testing of target devices supporting the CXL protocol in the server, thereby saving testing costs and achieving better testing results. The electronic device modifies the BIOS configuration file according to the test scenario, and tests the target device supporting the CXL protocol in the server based on the modified BIOS configuration file, thereby better meeting the testing requirements of the testing scenarios in actual application situations.
[0038] Another embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable the computer to execute any of the above methods.
[0039] Therefore, the embodiment of the present application also provides a computer-readable storage medium for more conveniently implementing the test of the device supporting the CXL protocol in the server. There is no need to use a special analyzer hardware testing device for testing. Based on the BIOS configuration file, the test of the target device supporting the CXL protocol in the server can be conveniently implemented, thereby saving the testing cost and achieving better testing effect. Based on the computer-readable storage medium, when the computer executable instructions therein are executed, the BIOS configuration file can be modified according to the test scenario. Based on the modified BIOS configuration file, the target device supporting the CXL protocol in the server can be tested, which can better meet the testing requirements of the testing scenarios in actual application situations. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0041] Figure 1 A schematic diagram of a device testing method provided in an embodiment of the present application;
[0042] Figure 2 A schematic diagram of a device testing method provided in an embodiment of the present application;
[0043] Figure 3 A schematic diagram of a device testing method provided in an embodiment of the present application;
[0044] Figure 4 A schematic diagram of a device testing method provided in an embodiment of the present application;
[0045] Figure 5 A schematic diagram of a device testing method provided in an embodiment of the present application;
[0046] Figure 6 A schematic diagram of a device testing method provided in an embodiment of the present application;
[0047] Figure 7 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application;
[0048] Figure 8 A schematic diagram of the structure of a device testing apparatus provided in an embodiment of the present application. DETAILED DESCRIPTION
[0049] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0050] The embodiments of the present application provide a device testing method, apparatus, equipment and medium, which are used to more conveniently implement testing of devices supporting the CXL protocol in a server, save costs, achieve good testing results, and meet testing requirements.
[0051] Among them, the method and the device, equipment, and medium are based on the same application concept. Since the principles of solving problems by the method and the device, equipment, and medium are similar, the implementation of the device, equipment, medium, and method can refer to each other, and the repeated parts will not be repeated.
[0052] The terms "first", "second", etc. (if any) in the specification and claims of the embodiments of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments described herein can be implemented in an order other than the content illustrated or described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0053] The following examples and embodiments are to be understood as illustrative examples only. Although this specification may refer to "one", "an" or "some" examples or embodiments in several places, this does not mean that each such reference relates to the same example or embodiment, nor does it mean that the feature applies only to a single example or embodiment. Individual features of different embodiments may also be combined to provide other embodiments. In addition, terms such as "including" and "comprising" should be understood as not limiting the described embodiments to only those features that have been mentioned; such examples and embodiments may also include features, structures, units, modules, etc. that are not specifically mentioned.
[0054] The following is a detailed description of each embodiment of the present application in conjunction with the accompanying drawings. It should be noted that the display order of the embodiments of the present application only represents the order of the embodiments, and does not represent the advantages and disadvantages of the technical solutions provided by the embodiments.
[0055] See also Figure 1 , a device testing method provided in an embodiment of the present application includes:
[0056] S101, determining a basic input and output system BIOS configuration file in a server, wherein the BIOS configuration file includes: configuration information supported by a target device to be tested in the server, the target device being a device supporting a Compute Express Link (CXL) protocol (also referred to as a CXL device);
[0057] The CXL protocol supports the following three types of devices:
[0058] Type 1 devices: accelerators without local memory, such as network cards.
[0059] The first type of device is integrated with the existing system through PCIe (Peripheral Component Interconnect express, a high-speed serial computer expansion bus standard) and communicates directly with the CPU through the CXL protocol.
[0060] The second type of device: general-purpose accelerators, such as graphics processing units (GPUs), application-specific integrated circuits (ASICs), and field programmable gate arrays (FPGAs).
[0061] Such accelerators usually have local memory such as Graphics Double Data Rate (GDDR) or High Bandwidth Memory. The host CPU can directly access the local memory of such accelerators through the CXL protocol.
[0062] The third type of device: memory expansion board and persistent memory.
[0063] The third type of device communicates directly with the host processor and can use the CXL protocol to achieve low-latency, high-throughput data transfer.
[0064] From the perspective of server manufacturers, the embodiments of the present application provide an automated testing method for CXL devices, thereby ensuring good compatibility with CXL devices before the server is delivered to users, thereby better meeting user application requirements.
[0065] The BIOS configuration file in the server is determined, for example, by creating a BIOS configuration file BIOS_Conf.txt under the server OS, which contains options 1 to n supported by the CXL device (ie, configuration information supported by the target device), for example: BIOS control options (type, function, etc.) supported by the CXL device.
[0066] In some embodiments, the BIOS configuration file includes, for example:
[0067] The CXL Security Level option is used to control whether the operating system (OS) can read and write to the CXL device through the CXL memory (cxl.mem) protocol. Supported options include: Auto, Fully Trusted, and Untrusted.
[0068] In the embodiment of the present application, at the firmware layer of the server, a pre-configured BIOS configuration file (eg named BIOS_Conf.txt) is used to set the control options (eg type, function, etc.) of the BIOS supported by the CXL device.
[0069] S102. Modify the BIOS configuration file according to the test scenario to obtain a modified BIOS configuration file, and restart the server; wherein the modified BIOS configuration file includes: configuration information of the target device when the target device is run under the test scenario;
[0070] The test scenario is the actual application requirement of the user (not specifically limited). In the embodiment of the present application, the BIOS configuration file can be modified according to the actual application requirement of the user for the CXL device to obtain a modified BIOS configuration file.
[0071] The configuration information of the target device includes, for example, configuration information such as usage mode, bandwidth, rate, etc. of the CXL device.
[0072] In some embodiments, the BIOS configuration file is modified, for example:
[0073] Assume that the access path of the BIOS configuration file is . / scelnx / o / s bios.txt; the file name of the BIOS configuration file is bios.txt;
[0074] You can use the tool to export the BIOS configuration file bios.txt under . / scelnx / o / s bios.txt and modify the option configuration in bios.txt. For example, change the control option 1 of the BIOS supported by the CXL device to off, and then use . / scelnx / I / s bios.txt to import the modified configuration information. Restart the server and the modified configuration information will take effect.
[0075] S103. When the server is successfully restarted, detect whether the configuration information in the modified BIOS configuration file is effective, obtain a first detection result, and based on the first detection result, output first test information of whether the BIOS of the server supports the target device.
[0076] After the server is successfully restarted and enters the server OS, you can use the BIOS configuration modification tool to export the modified BIOS configuration file BIOS_Conf_modify.txt and check whether the options in the BIOS_Conf_modify.txt are modified successfully, for example, check whether the control option 1 of the BIOS supported by the CXL device is off.
[0077] The first detection result, that is, the detection result of whether the configuration information in the modified BIOS configuration file is effective, if yes, it means that the BIOS of the server supports the target device, and the output first test information prompts the detection result (for example, BIOS is support CXL); otherwise, it means that the BIOS of the server does not support the target device, and the output first test information prompts the detection result (for example, BIOS is not support CXL).
[0078] In some embodiments, see Figure 2, the method further comprises:
[0079] S201, determining an operating system OS configuration file in the server, including operating system kernel version information;
[0080] In some embodiments, the OS configuration file includes, for example: a configuration file started by the operating system kernel (kernel), and the access path of the OS configuration file is, for example: nano / etc / default / grub;
[0081] In some embodiments, the configuration of the OS may be modified by editing the contents of the OS configuration file under the nano / etc / default / grub path.
[0082] S202: Based on the OS configuration file, detect whether the operating system kernel version of the server is higher than or equal to a preset version, and obtain a second detection result;
[0083] In some embodiments, based on the OS configuration file, detecting the operating system kernel version of the server includes, for example:
[0084] The kernel version in the OS configuration file can be queried through the command (uname -r) and is 5.14. However, the operating system kernel version that actually supports CXL devices needs to be above 6.6. Therefore, based on this test result, it can be determined whether the OS in the current server can be used for testing CXL devices.
[0085] The second detection result is a detection result of whether the operating system kernel version of the server is higher than or equal to a preset version.
[0086] S203. Based on the second detection result, output second test information of whether the OS of the server supports the target device; wherein the preset version is an operating system kernel version that supports the target device.
[0087] If the operating system kernel version of the server is higher than or equal to the preset version, the second test information generates corresponding prompt information (for example, OS is support CXL) based on the detection result;
[0088] If the operating system kernel version of the server is lower than the preset version, the second test information generates corresponding prompt information (eg, OS is not support CXL) based on the detection result.
[0089] In some embodiments, see Figure 3 , the method further comprises:
[0090] S301, determining an operating system OS configuration file in the server, including operating system kernel version information;
[0091] S302: Based on the OS configuration file, detect whether the operating system kernel version of the server is higher than or equal to a preset version, and obtain a second detection result;
[0092] S303, detecting whether the target device exists in the server, and obtaining a third detection result;
[0093] For example, by executing a PCI device query instruction (lspci-tv), it is detected whether the CXL device exists in the local server.
[0094] The third detection result is a detection result of whether the target CXL device exists in the server.
[0095] S304: Based on the second detection result and the third detection result, output second test information of whether the OS of the server supports the target device.
[0096] That is to say, in this embodiment, whether the server's OS supports the second test information of the target device is determined based on the detection result of whether the server's operating system kernel version is higher than or equal to the preset version and the detection result of whether the target device exists in the server. For example:
[0097] If the server's operating system kernel version is higher than or equal to the preset version and the target device exists in the server, the output second test information prompts that the server's OS supports the target device (for example, OS is support CXL); otherwise, the output second test information prompts that the server's OS does not support the target device (for example, OS is not support CXL).
[0098] In some embodiments, see Figure 4 , the method further comprises:
[0099] S401, determining an operating system OS configuration file in the server, including operating system kernel version information;
[0100] S402: Based on the OS configuration file, detect whether the operating system kernel version of the server is higher than or equal to a preset version, and obtain a second detection result;
[0101] S403, detecting whether the target device exists in the server, and obtaining a third detection result;
[0102] S404: when it is detected that the target device exists in the server, record the address information of the target device in the server;
[0103] The address information of the target device in the server is recorded, for example, the PCI device address information (for example, bb:dd.f) of the CXL device in the local server is recorded.
[0104] S405: Based on the second detection result and the third detection result, output second test information of whether the OS of the server supports the target device.
[0105] In some embodiments, see Figure 5 , the method further comprises:
[0106] S501, determining an operating system OS configuration file in the server, including operating system kernel version information;
[0107] S502: Based on the OS configuration file, detect whether the operating system kernel version of the server is higher than or equal to a preset version, and obtain a second detection result;
[0108] S503, detecting whether the target device exists in the server, and obtaining a third detection result;
[0109] S504: Based on the second detection result and the third detection result, output second test information of whether the OS of the server supports the target device.
[0110] S505: When it is detected that the target device exists in the server, record the address information of the target device in the server;
[0111] S506. Detecting the state information of the target device based on the address information of the target device in the server to obtain a fourth detection result;
[0112] For example, based on the PCI device address information (eg, bb:dd.f) of the CXL device in the local server, the PCI device status query instruction lspci-vvs bb:dd.f is executed to detect the CXL device status, such as the link status and link speed of the CXL device.
[0113] S507: Based on the fourth detection result, output third test information of whether the hardware of the server supports the target device.
[0114] In some embodiments, based on the fourth detection result, outputting third test information of whether the hardware of the server supports the target device, for example, includes:
[0115] Based on the address information of the target CXL device in the server, the command (lspci|grep -i cxl) can be used to detect whether the following information is included in the status information of the target CXL device:
[0116] d7:00.0CXL:Montage Technology Co.,Ltd.Device c001(rev 01);
[0117] If yes, it means that the hardware environment of the current server supports the target CXL device, and the third test information (for example: Hardware is support CXL) that the hardware of the server supports the target device is output;
[0118] If not, it means that the current server hardware environment does not support the target CXL device, and then the third test information that the server hardware does not support the target device (for example: Hardware is not support CXL) is output.
[0119] The following is an example of a specific process.
[0120] See also Figure 6 , a device testing method provided in an embodiment of the present application includes:
[0121] S601, determining a basic input and output system BIOS configuration file in a server, wherein the BIOS configuration file includes: configuration information supported by a target device to be tested in the server, the target device being a device supporting a computing express link CXL protocol;
[0122] S602, modifying the BIOS configuration file according to the test scenario to obtain a modified BIOS configuration file, and restarting the server; wherein the modified BIOS configuration file includes: configuration information of the target device when the target device is run under the test scenario;
[0123] S603. When the server is successfully restarted, detect whether the configuration information in the modified BIOS configuration file is effective, obtain a first detection result, and based on the first detection result, output first test information of whether the BIOS of the server supports the target device.
[0124] S604, determining an operating system OS configuration file in the server, including operating system kernel version information;
[0125] S605. Based on the OS configuration file, detect whether the operating system kernel version of the server is higher than or equal to a preset version, and obtain a second detection result;
[0126] S606, detecting whether the target device exists in the server, and obtaining a third detection result;
[0127] S607: Based on the second detection result and the third detection result, output second test information of whether the OS of the server supports the target device.
[0128] S608: When it is detected that the target device exists in the server, record the address information of the target device in the server;
[0129] S609: Detecting the state information of the target device based on the address information of the target device in the server to obtain a fourth detection result;
[0130] S610. Based on the fourth detection result, output third test information of whether the hardware of the server supports the target device.
[0131] In this embodiment, the above steps S601 to S603 and steps S604 to S610 may be executed in parallel or sequentially, and the specific sequence is not limited.
[0132] In order to conduct different types of tests to demonstrate that the target CXL device is fully supported in the server and will not affect the application of the customer's actual business system:
[0133] In some embodiments, the OS configuration file includes the following three configuration files:
[0134] Functional test profile, performance test profile, stress test profile.
[0135] In some embodiments, the BIOS configuration file includes the following three configuration files:
[0136] Functional test profile, performance test profile, stress test profile.
[0137] Among them, regarding the functional test configuration file, for example:
[0138] For the BIOS configuration file, modify the corresponding BIOS options according to the actual functional test requirements to obtain the functional test configuration file (for example, bios1.txt);
[0139] For the OS configuration file, according to the actual functional test requirements, for example, modify the parameters in the OS configuration file under the path etc / default / grub to obtain the corresponding functional test configuration file. The tool used may be, for example, cxlcvtest.
[0140] Regarding the performance test configuration file and stress test configuration file, similar to the above-mentioned functional test configuration file, the BIOS configuration file and OS configuration file can be modified accordingly according to actual test requirements.
[0141] That is to say, in the embodiment of the present application, the test for the CXL device may include many types (for example: function, performance, stress), and each type of test requires the configuration of a different BIOS and / or the execution of different OS instructions. The corresponding test type, the test tool to be used, the test configuration information, the test steps (the test instructions to be executed), the pass / fail test result evaluation criteria, etc. are preset through the above-mentioned configuration files, and the corresponding test scripts are written to realize the automation of the configuration and execution of various tests for the CXL device. Finally, in the process of executing the automated test, according to different types of tests, such as function, performance, stress, the corresponding configuration information can be called, the corresponding test steps can be executed, the corresponding pass / fail test result evaluation criteria can be adopted, and the test results (i.e., test reports) can be finally output, thereby ensuring more comprehensive test coverage for the CXL device.
[0142] In summary, the embodiments of the present application can quickly verify the CXL device on the server manufacturer side, avoiding the problem of missing or wrongly modifying the configuration options that may be easily caused by manually modifying the configuration file and testing, which in turn causes the problem of incorrect testing. That is, the embodiments of the present application can more conveniently implement the test of the target device supporting the CXL protocol in the server, without the need to manually use a special analyzer hardware testing device for testing, saving the testing cost and achieving better testing results. The BIOS configuration file and the OS configuration file can be modified according to the test scenario, and based on the modified configuration file, the target device supporting the CXL protocol in the server can be subjected to various types of more comprehensive tests, which can better meet the test requirements of the test scenario in actual application situations, and make up for the lack of effective testing of CXL devices on the server manufacturer side. In addition, the method provided in the embodiments of the present application can also be applied to the batch verification of target CXL devices in the production link of the server.
[0143] The following is an introduction to the equipment or device provided in the embodiments of the present application, in which the explanations or examples of technical features that are the same or corresponding to those described in the above method will not be repeated later.
[0144] An electronic device provided in an embodiment of the present application, see Figure 7, for example:
[0145] The processor 700 is used to read the program in the memory 720 and execute the following process:
[0146] Determine a basic input and output system BIOS configuration file in the server, wherein the BIOS configuration file includes: configuration information supported by a target device to be tested in the server, the target device being a device supporting a computing express link CXL protocol;
[0147] According to the test scenario, the BIOS configuration file is modified to obtain a modified BIOS configuration file, and the server is restarted; wherein the modified BIOS configuration file includes: configuration information of the target device when the target device is run under the test scenario;
[0148] When the server is successfully restarted, it is detected whether the configuration information in the modified BIOS configuration file is effective, a first detection result is obtained, and based on the first detection result, first test information of whether the BIOS of the server supports the target device is output.
[0149] In some embodiments, the processor 700 is further configured to read a program in the memory 720 and execute the following process:
[0150] Determine an operating system OS configuration file in the server, including operating system kernel version information;
[0151] Based on the OS configuration file, detect whether the operating system kernel version of the server is higher than or equal to a preset version, obtain a second detection result, and based on the second detection result, output second test information of whether the OS of the server supports the target device; wherein the preset version is the operating system kernel version that supports the target device.
[0152] In some embodiments, the processor 700 is further configured to read a program in the memory 720 and execute the following process:
[0153] Detecting whether the target device exists in the server to obtain a third detection result;
[0154] Based on the second detection result, outputting second test information of whether the OS of the server supports the target device includes:
[0155] Based on the second detection result and the third detection result, second test information of whether the OS of the server supports the target device is output.
[0156] In some embodiments, the processor 700 is further configured to read a program in the memory 720 and execute the following process:
[0157] When it is detected that the target device exists in the server, the address information of the target device in the server is recorded.
[0158] In some embodiments, the processor 700 is further configured to read a program in the memory 720 and execute the following process:
[0159] Based on the address information of the target device in the server, the status information of the target device is detected to obtain a fourth detection result, and based on the fourth detection result, third test information of whether the hardware of the server supports the target device is output.
[0160] In some embodiments, the OS configuration file includes the following three configuration files:
[0161] Functional test profile, performance test profile, stress test profile.
[0162] In some embodiments, the BIOS configuration file includes the following three configuration files:
[0163] Functional test profile, performance test profile, stress test profile.
[0164] The transceiver 710 is configured to receive and send data under the control of the processor 700 .
[0165] Among them, Figure 7 In the embodiment, the bus architecture may include any number of interconnected buses and bridges, specifically one or more processors represented by processor 700 and various circuits of memory represented by memory 720 are linked together. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art and are therefore not further described herein. The bus interface provides an interface. The transceiver 710 may be a plurality of components, namely, a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium, including wireless channels, wired channels, optical cables, and other transmission media. For different user devices, the user interface 730 may also be an interface capable of externally and internally connecting required devices, and the connected devices include but are not limited to a keypad, a display, a speaker, a microphone, a joystick, and the like.
[0166] The processor 700 is responsible for managing the bus architecture and general processing, and the memory 720 can store data used by the processor 700 when performing operations.
[0167] In some embodiments, the processor 700 may be a CPU (central processing unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array) or a CPLD (Complex Programmable Logic Device), and the processor may also adopt a multi-core architecture.
[0168] The processor calls the computer program stored in the memory to execute any of the methods provided in the embodiments of the present application according to the obtained executable instructions. The processor and the memory can also be arranged physically separately.
[0169] It should be noted here that the above-mentioned device provided in the embodiment of the present application can implement all the method steps implemented in the above-mentioned method embodiment, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as those in the method embodiment will not be described in detail here.
[0170] See also Figure 8 , an equipment testing device provided in an embodiment of the present application includes:
[0171] The configuration file determining unit 801 is used to determine a basic input and output system BIOS configuration file in the server, wherein the BIOS configuration file includes: configuration information supported by a target device to be tested in the server, and the target device is a device that supports the Compute Express Link CXL protocol;
[0172] The configuration file modification unit 802 is used to modify the BIOS configuration file according to the test scenario, obtain a modified BIOS configuration file, and restart the server; wherein the modified BIOS configuration file includes: configuration information of the target device when the target device is running under the test scenario;
[0173] The testing unit 803 is used to detect whether the configuration information in the modified BIOS configuration file is effective when the server is restarted successfully, obtain a first detection result, and output first test information of whether the BIOS of the server supports the target device based on the first detection result.
[0174] In some embodiments:
[0175] The configuration file determining unit 801 is further used to: determine the operating system OS configuration file in the server, including the operating system kernel version information;
[0176] The testing unit 803 is further used to: based on the OS configuration file, detect whether the operating system kernel version of the server is higher than or equal to a preset version, obtain a second detection result, and based on the second detection result, output second test information of whether the OS of the server supports the target device; wherein the preset version is the operating system kernel version that supports the target device.
[0177] In some embodiments, the testing unit 803 is further used for:
[0178] Detecting whether the target device exists in the server to obtain a third detection result;
[0179] Based on the second detection result, outputting second test information of whether the OS of the server supports the target device includes:
[0180] Based on the second detection result and the third detection result, second test information of whether the OS of the server supports the target device is output.
[0181] In some embodiments, the testing unit 803 is further used for:
[0182] When it is detected that the target device exists in the server, the address information of the target device in the server is recorded.
[0183] In some embodiments, the testing unit 803 is further used for:
[0184] Based on the address information of the target device in the server, the status information of the target device is detected to obtain a fourth detection result, and based on the fourth detection result, third test information of whether the hardware of the server supports the target device is output.
[0185] In some embodiments, the OS configuration file includes the following three configuration files:
[0186] Functional test profile, performance test profile, stress test profile.
[0187] In some embodiments, the BIOS configuration file includes the following three configuration files:
[0188] Functional test profile, performance test profile, stress test profile.
[0189] It should be noted that the division of units in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, each functional unit in each embodiment of the present application may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0190] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor (processor) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), disk or optical disk and other media that can store program codes.
[0191] Any of the devices or apparatuses provided in the embodiments of the present application may specifically be a desktop computer, a portable computer, a smart phone, a tablet computer, a personal digital assistant (PDA), etc. It may include a central processing unit (CPU), a memory, an input / output device, etc. The input device may include a keyboard, a mouse, a touch screen, etc. The output device may include a display device, such as a liquid crystal display (LCD), a cathode ray tube (CRT), etc.
[0192] The memory may include a read-only memory (ROM) and a random access memory (RAM), and provides the processor with program instructions and data stored in the memory. In an embodiment of the present application, the memory may be used to store the program of any of the methods provided in the embodiments of the present application.
[0193] The processor calls the program instructions stored in the memory, and the processor is used to execute any of the methods provided in the embodiments of the present application according to the obtained program instructions.
[0194] The present application embodiment also provides a computer program product or computer program, which includes a computer instruction, which is stored in a computer-readable storage medium. The processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction so that the computer device executes any of the methods described in the above embodiments. The program product can use any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, - but not limited to - an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of readable storage media (non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0195] The embodiment of the present application provides a computer-readable storage medium for storing computer program instructions used by the apparatus provided in the embodiment of the present application, which includes a program for executing any of the methods provided in the embodiment of the present application. The computer-readable storage medium may be a non-transitory computer-readable medium.
[0196] The computer-readable storage medium can be any available medium or data storage device that can be accessed by a computer, including but not limited to magnetic storage (such as floppy disks, hard disks, magnetic tapes, magneto-optical disks (MO), etc.), optical storage (such as CD, DVD, BD, HVD, etc.), and semiconductor storage (such as ROM, EPROM, EEPROM, non-volatile memory (NANDFLASH), solid-state drive (SSD)), etc.
[0197] It should be understood that:
[0198] The access technology through which entities in the communication network transmit traffic can be any suitable current or future technology, such as WLAN (Wireless Local Access Network), WiMAX (Worldwide Interoperability for Microwave Access), LTE, LTE-A, 5G, Bluetooth, infrared, etc.; in addition, the embodiments can also apply wired technology, for example, IP-based access technology, such as a wired network or a fixed line.
[0199] Embodiments suitable for being implemented as software code or a portion thereof and running using a processor or processing functionality are independent of the software code and may be specified using any known or future developed programming language, such as a high-level programming language such as objective-C, C, C++, C#, Java, Python, Javascript, other scripting languages, etc., or a low-level programming language such as machine language or assembler.
[0200] The implementation of the embodiments is hardware independent and may be implemented using any known or future developed hardware technology or any mixture thereof, such as a microprocessor or CPU (central processing unit), MOS (metal oxide semiconductor), CMOS (complementary MOS), BiMOS (bipolar MOS), BiCMOS (bipolar CMOS), ECL (emitter coupled logic) and / or TTL (transistor-transistor logic).
[0201] Embodiments may be implemented as separate devices, apparatuses, units, components, or functions, or in a distributed manner, for example, one or more processors or processing functions may be used or shared in a process, or one or more processing segments or processing portions may be used and shared in a process, wherein one physical processor or more than one physical processor may be used to implement one or more processing portions dedicated to a specific process as described.
[0202] The device may be implemented by a semiconductor chip, a chipset, or a (hardware) module including such a chip or chipset.
[0203] The embodiments may also be implemented as any combination of hardware and software, such as ASIC (Application Specific IC (Integrated Circuit)) components, FPGA (Field Programmable Gate Array) or CPLD (Complex Programmable Logic Device) components or DSP (Digital Signal Processor) components.
[0204] The embodiments may also be implemented as a computer program product including a computer usable medium having computer readable program code embodied therein, the computer readable program code being adapted to perform the processes as described in the embodiments, wherein the computer usable medium may be a non-transitory medium.
[0205] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.
[0206] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0207] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0208] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0209] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A device testing method, characterized in that: The method comprises: Determine a basic input and output system BIOS configuration file in the server, wherein the BIOS configuration file includes: configuration information supported by a target device to be tested in the server, the target device being a device supporting a computing express link CXL protocol; According to the test scenario, the BIOS configuration file is modified to obtain a modified BIOS configuration file, and the server is restarted; wherein the modified BIOS configuration file includes: configuration information of the target device when the target device is run under the test scenario; When the server is successfully restarted, it is detected whether the configuration information in the modified BIOS configuration file is effective, a first detection result is obtained, and based on the first detection result, first test information of whether the BIOS of the server supports the target device is output.
2. The method according to claim 1, characterized in that: The method further comprises: Determine an operating system OS configuration file in the server, including operating system kernel version information; Based on the OS configuration file, detect whether the operating system kernel version of the server is higher than or equal to a preset version, obtain a second detection result, and based on the second detection result, output second test information of whether the OS of the server supports the target device; wherein the preset version is the operating system kernel version that supports the target device.
3. The method according to claim 2, characterized in that The method further comprises: Detecting whether the target device exists in the server to obtain a third detection result; Based on the second detection result, outputting second test information of whether the OS of the server supports the target device includes: Based on the second detection result and the third detection result, second test information of whether the OS of the server supports the target device is output.
4. The method according to claim 3, characterized in that: The method further comprises: When it is detected that the target device exists in the server, the address information of the target device in the server is recorded.
5. The method according to claim 4, characterized in that The method further comprises: Based on the address information of the target device in the server, the status information of the target device is detected to obtain a fourth detection result, and based on the fourth detection result, third test information of whether the hardware of the server supports the target device is output.
6. The method according to claim 2, characterized in that The OS configuration file includes the following three configuration files: Functional test profile, performance test profile, stress test profile.
7. The method according to claim 1, characterized in that The BIOS configuration file includes the following three configuration files: Functional test profile, performance test profile, stress test profile.
8. A device testing apparatus, characterized in that: The device comprises: A configuration file determining unit, configured to determine a basic input and output system BIOS configuration file in the server, wherein the BIOS configuration file includes: configuration information supported by a target device to be tested in the server, wherein the target device is a device supporting a computing fast link CXL protocol; A configuration file modification unit, configured to modify the BIOS configuration file according to a test scenario, obtain a modified BIOS configuration file, and restart the server; wherein the modified BIOS configuration file includes: configuration information of the target device when the target device is run under the test scenario; The testing unit is used to detect whether the configuration information in the modified BIOS configuration file is effective when the server is successfully restarted, obtain a first detection result, and output first test information of whether the BIOS of the server supports the target device based on the first detection result.
9. An electronic device, characterized in that: include: A memory for storing program instructions; A processor, configured to call the program instructions stored in the memory, and execute the method according to any one of claims 1 to 7 according to the obtained program.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable the computer to execute the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
An automatic configuration method and system for CTLE parameters
CN109669893A
CPU activation core number setting test method and related device
CN110377468A
Method and system for realizing NVMe equipment configuration based on pooling
CN111241013A
Server configuration modification method and device
CN114116033A
PCIE (Peripheral Component Interface Express) resource allocation method and device and medium
CN116360995A