CN113032148B - MMIO resource setting method and related device - Google Patents

MMIO resource setting method and related device Download PDF

Info

Publication number
CN113032148B
CN113032148B CN202110314302.6A CN202110314302A CN113032148B CN 113032148 B CN113032148 B CN 113032148B CN 202110314302 A CN202110314302 A CN 202110314302A CN 113032148 B CN113032148 B CN 113032148B
Authority
CN
China
Prior art keywords
mmio
setting
resource
resources
high base
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110314302.6A
Other languages
Chinese (zh)
Other versions
CN113032148A (en
Inventor
黄家明
李道童
芦飞
艾山彬
孙永博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Yingxin Computer Technology Co Ltd
Original Assignee
Shandong Yingxin Computer Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Yingxin Computer Technology Co Ltd filed Critical Shandong Yingxin Computer Technology Co Ltd
Priority to CN202110314302.6A priority Critical patent/CN113032148B/en
Publication of CN113032148A publication Critical patent/CN113032148A/en
Application granted granted Critical
Publication of CN113032148B publication Critical patent/CN113032148B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The application discloses a setting method of MMIO resources, comprising the following steps: displaying MMIO HighGranularity Size and MMIO High Base setting items; the setting items comprise a custom setting item and a plurality of fixed setting items which are sequentially increased; receiving a setting instruction of the setting item; judging whether the sum of MMIO resource amounts of all Stacks and the sum of MMIO High Base are smaller than a threshold value or not; if yes, setting MMIO granularity values, stack resource Base values, limit values and corresponding registers of all stacks according to the setting instruction. Through the displayed custom setting items and a plurality of sequentially-increased fixed setting items, the MMIO resource setting of Stack can break through a larger setting range, but is not limited in the fixed range, machine downtime caused by MMIO resource exhaustion is avoided, and the stability of the server is improved. The application also discloses a setting device of MMIO resources, a server and a computer readable storage medium, which have the beneficial effects.

Description

MMIO resource setting method and related device
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method and an apparatus for setting MMIO resources, a server, and a computer readable storage medium.
Background
PCI (Peripheral Component Interconnect, peripheral component interconnect standard) is the most widely used interface in computers today. PCI-Express (peripheral component interconnect express) is a high-speed serial computer expansion bus standard, PCIe belongs to high-speed serial point-to-point dual-channel high-bandwidth transmission, and connected equipment allocates exclusive channel bandwidth without sharing bus bandwidth and mainly supports the functions of active power management, error reporting, end-to-end reliability transmission, hot plug, service quality and the like.
The PCI/PCIE device needs a certain amount of MMIO (Memory Mapped I/O) or/and IO (input/output) resources to work normally, where MMIO resources are divided into 32-bit/64-bit/32-bit prefect/64-bit prefect and so on, and the kind and size of the resources need BIOS (Basic InputOutput System, basic input/output system) to interact with the device to obtain, and the BIOS allocates resources of corresponding kind and size to the device to ensure that the device can be identified normally and can work normally.
In the related art, an IIO (Integrated I/O module) module of a corresponding CPU is divided into a plurality of Stack units, and the Stack numbers of different CPU architecture platforms may be different. The current BIOS code and RC (reference code) code may make several fixed settings with different sizes for the High-end MMIO Base (MMIO High Base) of the device, such as 512G/1T/2T … … T (including but not limited to), and also make several fixed-size settings for each Stack to be allocated with resources, such as 1G/4G … … up to 1024G, and give these several setting items in the BIOS setting interface for the user to select corresponding MMIO High Granularity Size and MMIO High Base. However, when a computer is connected with a plurality of PCIE devices, especially when the PCIE devices are all connected to the same Stack, the situation that the resource requirement exceeds the current maximum setting quantity 1024G may occur, so that the number of GPU devices is not fully identified, some PCIE devices including GPU cannot work normally, machine error reporting and prompting resources are insufficient, downtime is not continued to start up, and the stability of the system is reduced.
Therefore, how to avoid the machine downtime caused by MMIO resource exhaustion is a major concern for those skilled in the art.
Disclosure of Invention
The purpose of the application is to provide a setting method, a setting device, a server and a computer readable storage medium for MMIO resources, which enable MMIO resource setting to break through a larger setting range, not to be limited in the fixed range, avoid machine downtime caused by MMIO resource exhaustion and improve the stability of the server through a displayed custom setting item and a plurality of sequentially-increased fixed setting items.
In order to solve the above technical problems, the present application provides a method for setting MMIO resources, including:
displaying MMIO High Granularity Size and MMIO High Base setting items; the setting items comprise a custom setting item and a plurality of fixed setting items which are sequentially increased;
receiving a setting instruction of the setting item;
judging whether the sum of MMIO resource amounts of all Stacks and the sum of MMIO High Base are smaller than a threshold value or not;
if yes, setting MMIO granularity values, stack resource Base values, limit values and corresponding registers of all stacks according to the setting instruction.
Optionally, receiving a setting instruction of the setting item includes:
receiving a setting instruction of the setting item through a BIOS setting interface, and carrying out corresponding processing according to the setting instruction.
Optionally, the method further comprises:
when the MMIO resource quantity of any Stack connecting device is larger than a preset quantity, dynamically and incrementally adjusting MMIOHigh Granularity Size and MMIO High Base of the Stack; the configuration data for each Stack is updated.
Optionally, the method further comprises:
acquiring the numerical value of an EAX register through a CPUID command;
and analyzing the numerical value of the EAX register to obtain the threshold value.
Optionally, the method further comprises:
judging whether the sum of MMIO resources and MMIO High Base of all Stacks is larger than the upper limit value of physical resources;
if yes, the MMIO High Base value is subjected to reduction adjustment.
Optionally, the method further comprises:
and (3) carrying out shrinkage adjustment on each Stack resource quantity on the premise of meeting the requirement.
Optionally, the method further comprises:
and modifying the fault reporting function and the downtime function of the MMIO upper limit according to the threshold.
The application also provides a setting device of MMIO resources, which comprises:
the setting item display module is used for displaying the setting items of MMIO High Granularity Size and MMIO High Base; the setting items comprise a custom setting item and a plurality of fixed setting items which are sequentially increased;
the instruction receiving module is used for receiving a setting instruction of the setting item;
the instruction judging module is used for judging whether the sum of MMIO resource amounts of all stacks and the sum of MMIO High Base are smaller than a threshold value;
and the MMIO setting module is used for setting MMIO granularity values, stack resource Base values, limit values and corresponding registers of all stacks according to the setting instruction when the sum of MMIO High Granularity Size and MMIO High Base values of all stacks is smaller than a threshold value.
The application also provides a server comprising:
a memory for storing a computer program;
a processor for implementing the steps of the setting method as described above when executing the computer program.
The present application also provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the setup method as described above.
The MMIO resource setting method provided by the application comprises the following steps: displaying MMIO High GranularitySize and MMIO High Base setting items; the setting items comprise a custom setting item and a plurality of fixed setting items which are sequentially increased; receiving a setting instruction of the setting item; judging whether the sum of MMIO resource amounts of all Stacks and the sum of MMIO HighBase are smaller than a threshold value or not; if yes, setting MMIO granularity values, stack resource Base values, limit values and corresponding registers of all stacks according to the setting instruction.
Through the displayed custom setting items and a plurality of sequentially-increased fixed setting items, MMIO resource setting can break through a larger setting range, but is not limited in a fixed range, machine downtime caused by MMIO resource exhaustion is avoided, and the stability of a server is improved.
The application further provides a setting device for MMIO resources, a server and a computer readable storage medium, which have the above beneficial effects and are not described herein.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings that are required to be used in the embodiments or the description of the prior art will be briefly described below, and it is obvious that the drawings in the following description are only embodiments of the present application, and that other drawings may be obtained according to the provided drawings without inventive effort to a person skilled in the art.
FIG. 1 is a flowchart of a method for setting MMIO resources according to an embodiment of the present disclosure;
fig. 2 is a schematic structural diagram of an MMIO resource setting device according to an embodiment of the present application.
Detailed Description
The core of the application is to provide a setting method, a setting device, a server and a computer readable storage medium for MMIO resources, which enable MMIO resource setting to break through a larger setting range, not to be limited in the fixed range, avoid machine downtime caused by MMIO resource exhaustion and improve the stability of the server through a displayed custom setting item and a plurality of sequentially-increased fixed setting items.
For the purposes of making the objects, technical solutions and advantages of the embodiments of the present application more clear, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
In the related art, the IIO module of the corresponding CPU may be divided into a plurality of Stack units, and the Stack numbers of different CPU architecture platforms may be different. The current BIOS code and RC code may set a plurality of fixed settings with different sizes for a High-end MMIO Base (MMIO HighBase) of the device, such as 512G/1T/2T … … T (including but not limited to), and may set a plurality of fixed settings for each Stack to be allocated with resources, such as 1G/4G … … up to 1024G, for each allocated High-end MMIO High Granularity Size and MMIO HighBase (MMIO High Granularity Size), and provide the setting items for the user to select corresponding MMIOHigh Granularity Size and MMIO HighBase in the BIOS setting interface. However, when a computer is connected with a plurality of GPU devices, especially when the devices are connected to the same Stack, the situation that the resource demand exceeds the current maximum setting quantity 1024G can occur, so that the problems of insufficient quantity identification of GPU devices, incapability of normal operation of some PCIE devices including GPUs and the like, insufficient machine error prompting resources, no further continuous starting due to downtime and the like are caused, and the stability of the system is reduced.
Therefore, the MMIO resource setting method provided by the application enables MMIO resource setting to break through a larger setting range, not be limited in a fixed range, avoids machine downtime caused by MMIO resource exhaustion, and improves the stability of a server through the displayed custom setting items and a plurality of fixed setting items which are sequentially increased.
The following describes, by an embodiment, a method for setting MMIO resources provided in the present application.
Referring to fig. 1, fig. 1 is a flowchart of a method for setting MMIO resources according to an embodiment of the present application.
In this embodiment, the method may include:
s101, displaying MMIO High Granularity Size and MMIO High Base setting items; the setting items comprise a custom setting item and a plurality of fixed setting items which are sequentially increased;
this step is intended to show the MMIO High Granularity Size and MMIO High Base settings. The setting items comprise a custom setting item and a plurality of fixed setting items which are sequentially increased.
Wherein the custom settings are for the user to manually enter MMIO High Granularity Size and MMIOHigh Base data. In the related art, however, a few limited fixed setting items are generally given. When a plurality of devices commonly require a large MMIO High Granularity Size and MMIO High Base, a large MMIO High Granularity Size and MMIO High Base are required, and the related art is limited in that the granularity value cannot be broken. In the running process of the system, the problem that the requirements of equipment on MMIO resources exceed the set resource size, so that errors, downtime and the like occur is caused.
Therefore, the custom setting item is displayed in the step so as to break through the limitation of MMIO resources in the prior art and avoid the problems of downtime and the like caused by the limitation of MMIO resources.
Further, in order to improve the setting efficiency, the sum of MMIO High Granularity Size and MMIOHigh Base may be displayed in the setting option as the sum of MMIO allocation amounts as a setting item, so that MMIO High Granularity Size and MMIO High Base are directly set by the sum of MMIO allocation amounts, thereby improving the setting efficiency.
S102, receiving a setting instruction of a setting item;
on the basis of S101, this step is intended to receive a setting instruction of a setting item. That is, on the basis of displaying the respective setting items, the user or technician selects or inputs so as to transmit the corresponding setting items, and a setting instruction of the setting item is received in this step. Wherein the set instruction contains a specific set granularity value.
Further, the step may include:
receiving a setting instruction of a setting item through a BIOS setting interface, and carrying out corresponding processing according to the setting instruction.
It can be seen that in this alternative, the setting instruction is received mainly through the BIOS setting interface, and corresponding processing is performed according to the setting instruction. In addition, the setting instruction may also be acquired by a device in the same network, or received through an instruction line.
S103, judging whether the sum of MMIO resource amounts of all stacks and the sum of MMIO High Base are smaller than a threshold value;
on the basis of S102, this step is aimed at determining whether the sum of the MMIOH (Memory Mapped I/O High, memory space Mapped maximum) resource amounts of all stacks and the sum of MMIO High Base are smaller than a threshold. Wherein the threshold value refers to the physical limit of the largest MMIO resource that can be set in the computer system. It can be seen that in this step, it is mainly determined whether the granularity value in the setting instruction is smaller than the threshold value, so as to avoid exceeding the physical limit.
That is, the related art limits the size of the MMIO resources to be within 1024G, but in a general system, the actual MMIO resources may exceed 1024G without affecting the system, and the limitation of 1024G is only the software limitation in the system. Where 1024G is a limitation, the limitation may be a different value in different practical systems, and is not specifically limited herein.
Based on the above description, the present embodiment simply determines whether the granularity value exceeds the physical limit by displaying the respective setting items without limiting MMIO High GranularitySize and MMIO High Base, expands the setting ranges of MMIO HighGranularity Size and MMIO High Base, and maintains normal use.
Further, the embodiment may further include:
acquiring the numerical value of an EAX register through a CPUID command; and analyzing the numerical value of the EAX register to obtain a threshold value.
It can be seen that the manner in which the threshold is obtained is mainly described in this alternative. In the alternative scheme, the numerical value of the EAX register is obtained through a CPUID command; and analyzing the numerical value of the EAX register to obtain a threshold value. That is, the corresponding threshold value is queried from the system and set.
And S104, if so, setting MMIO granularity values, stack resource Base values, limit values and corresponding registers of all stacks according to the setting instruction.
On the basis of S103, this step aims to set MMIO granularity values, stack resource Base values, limit values and corresponding registers of all stacks according to the set instruction when the granularity value corresponding to the instruction is smaller than the threshold value. That is, in the case where it is determined that there is no problem in the granularity value in the set instruction, the MMIO granularity value, stack resource Base value, limit value, and corresponding registers are set so as to implement an unlimited MMIO setting process.
Wherein the MMIO granularity value is a unit of allocated resource quantity, is not equal to the last actually allocated resource quantity, and is finally reflected to the start (namely the Stack resource Base value) and the upper Limit setting (Limit value) of the Stack resource except the setting and processing of granularity value, and comprises related registers
Further, the embodiment may further include:
when the MMIO resource quantity of any Stack connecting device is larger than the preset quantity, dynamically and incrementally adjusting MMIO HighGranularity Size and MMIO High Base of Stack; the configuration data for each Stack is updated.
It can be seen that this alternative is mainly to explain how to make dynamic adjustments. In the alternative scheme, when the MMIO resource quantity of any Stack connecting device is larger than a preset quantity, dynamic increment adjustment is carried out on MMIO High GranularitySize and MMIO High Base of Stack; the configuration data for each Stack is updated. That is, when the number of devices connected by Stack is continuously increased and is greater than the preset number, dynamic incremental adjustment can be performed on MMIO HighGranularity Size and MMIO High Base of the Stack so as to increase MMIO resources, and finally, the configuration data of each Stack is updated.
Further, the embodiment may further include:
judging whether the sum of MMIO resources and MMIO High Base of all Stacks is larger than the upper limit value of physical resources;
if so, the MMIO High Base value is scaled.
Therefore, in the alternative scheme, whether the sum of MMIO resources and MMIO High Base of all Stacks is larger than the upper limit value of physical resources is mainly judged; if so, the MMIO High Base value is scaled. That is, when the MMIO resources of Stack exceeds the physical resource upper limit value, the MMIO High Base value is scaled so as to reduce the starting height of MMIO, and the total MMIO resources are reduced to avoid exceeding the MMIO resource upper limit. The demand of any one or any some resources for Stack resources can be reduced, so that the usage of Stack resources is reduced. The magnitude of the decrease may be adjusted according to the actual situation, and is not particularly limited herein.
Further, the embodiment may further include:
and modifying the fault reporting function and the downtime function of the MMIO upper limit according to the threshold value.
Therefore, in the alternative scheme, the error reporting function and the downtime function of the MMIO upper limit are mainly modified, so that the error reporting and the downtime are avoided directly after MMIO resource allocation exceeds the limit, and the normal operation of the system is prevented from being influenced. Furthermore, in the alternative, the reduction processing can be performed under the condition that the sufficient use of each Stack resource amount is ensured.
In summary, according to the embodiment, through the displayed custom setting item and the plurality of sequentially-increased fixed setting items, the MMIO resource setting can break through a larger setting range, but is not limited in a fixed range, so that machine downtime caused by MMIO resource exhaustion is avoided, and the stability of the server is improved.
The following describes a method for setting MMIO resources according to the present application through a specific embodiment.
In the related art, although MMIO High Granularity Size in the code is set up to only 1024G at maximum, and there is a check in the code to see if this setting exceeds 1024G, if it exceeds the processing of reporting a fault and making the machine down. But in practice the MMIO High Granularity Size setting may exceed 1024G. And the amount of MMIO resources that may be allocated to each Stack is not the same.
Based on this, in this embodiment, the setting items are added to MMIO High Granularity Size according to actual needs, and the existing code processing logic is that each setting item is in a 4-fold relationship with the last setting item of the neighboring, for example, the next setting item of 1024G is 4096G, and a unique ID value is assigned to each setting item;
the processing of MMIO High Granularity Size setting items in specific codes can be divided into two types, namely a fixed setting item which continues 4 times of the relation in the existing code logic, and a custom setting item with custom value can be obtained by performing special processing according to the unique ID of each setting item;
when more PCIE devices such as GPU are connected to the machine, especially when many of the devices are from one CPUStack/IIO Port, the prior maximum MMIO 1024G is not enough, so that the problem of resource shortage is caused, the MMIO HighGranularity Size setting item is set as a custom setting item. In actual operation, more MMIO resources are allocated to all CPUStack/IIO ports, and the specific quantity is equal to the newly added setting item, so that the problem of resource shortage can be solved.
Further, in order to solve the problem that the current code is MMIO with the same capacity allocated to each CPU Stack, the current method is improved, when PCIE devices such as too many GPUs are connected to a machine, especially when many of the devices come from one CPU Stack/IIO Port, the previous maximum MMIO quantity 1024G is not enough, and therefore resources are lack, the one or several stacks lacking resources can be dynamically allocated to more resources. And updating the Base and Limit data of each Stack resource according to the changed configuration condition, recording the Base and Limit registers of the resources under the track in the PCIE configuration space of the Root port bridge corresponding to each Stack, and updating the current improved setting condition value to the registers according to the PCIE specification definition mode.
Taking the Intel Whitley platform as an example, the maximum upper limit value can be obtained by acquiring and analyzing the obtained EAX register value through a corresponding CPUID command; on the other hand, some PCIE devices have their own MMIO resource range requirements, for example, a maximum of the MMIO resource range requirements cannot exceed an upper limit;
in addition, the total MMIO amount allocated by the BIOS to the PCI/PCIE device is increased in this embodiment, which may cause challenges to the upper limit values of the two cases;
therefore, the setting of MMIO High Base can be adjusted in a reduced amount, and MMIO addresses of all PCIE devices can be adjusted in a low way, so that the purpose of not exceeding the MMIO upper limit supported by the CPU is achieved. It should also be noted that this value needs to meet Intel's related design and implementation requirements, such as including and not limited to the need to ensure that it cannot be less than the total amount of memory available on the machine; when no suitable MMIO High Base setting item exists, the setting item of a required value is newly added to the MMIO High Base setting item according to the current implementation logic; on the other hand, the hardware can adjust the CPU Stack connected with the PCIE equipment with special requirements, for example, when the equipment has the requirement of the upper limit of resources, the equipment is preferentially connected to the low Stack port of the CPU0, or on the software level, the original method of sequentially distributing resources to each Stack of each CPU is broken, resources are distributed to stacks connected with equipment needing low MMIO according to the requirement, then resources are distributed to stacks connected with equipment needing high MMIO, and variables and registers for counting the upper limit and the lower limit of each Stack and each CPU and each related Bridge resource are processed, so that the effect of meeting the requirements of the upper limit and the lower limit of MMIO of the equipment is achieved.
After the resource allocation problem is solved, deleting or adjusting the existing resource checking processing mechanism which is not consistent with the actual design in the code to make the resource checking processing mechanism consistent with the actual design, including and not limited to removing the error reporting and downtime processing of the allocation upper limit 1024G of MMIO of each Stack in the code;
therefore, the upper limit of MMIO resources supported by the CPU or the Stack below the CPU is recognized in advance, along with updating of PCIE equipment, MMIO resource requirements required by the equipment are larger and larger, and when the number of the equipment is enough, the development trend of conflict in two aspects is caused, improvement and solution are provided, the problems that equipment cannot be completely recognized, cannot work normally, and is insufficient in machine report resources of a server where the equipment is located and the like caused by insufficient resources of the PCIE equipment are solved, the conventional MMIO resource allocation processing scheme of Intel is improved, the potential misleading influence of Intel codes on related designs is clarified, and the related problems of Intel code processing and AI model design processing (GPU equipment containing a plurality of multi-resource requirements) are processed.
The following describes the device for setting MMIO resources provided in the embodiments of the present application, and the device for setting MMIO resources described below and the method for setting MMIO resources described above may be referred to correspondingly.
Referring to fig. 2, fig. 2 is a schematic structural diagram of an MMIO resource setting device according to an embodiment of the present application.
In this embodiment, the apparatus may include:
a setting item display module 100 for displaying setting items of MMIO High Granularity Size and MMIO High Base; the setting items comprise a custom setting item and a plurality of fixed setting items which are sequentially increased;
an instruction receiving module 200, configured to receive a setting instruction of a setting item;
the instruction determining module 300 is configured to determine whether the sum of MMIOH resource amounts of all stacks and the sum of MMIO High Base are less than a threshold;
the MMIO setting module 400 is configured to set MMIOHigh Granularity Size and MMIO High Base of all stacks according to a setting instruction when the sum of MMIO High Granularity Size and MMIOHigh Base of all stacks and MMIO High Base values is less than a threshold.
The embodiment of the application also provides a server, which comprises:
a memory for storing a computer program;
a processor for implementing the steps of the setting method as described in the above embodiments when executing the computer program.
The present embodiment also provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the setting method as described in the above embodiments.
In the description, each embodiment is described in a progressive manner, and each embodiment is mainly described by the differences from other embodiments, so that the same similar parts among the embodiments are mutually referred. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant points refer to the description of the method section.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative elements and steps are described above generally in terms of functionality in order to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software modules may be disposed in Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The above describes in detail a method, an apparatus, a server, and a computer readable storage medium for setting MMIO resources provided in the present application. Specific examples are set forth herein to illustrate the principles and embodiments of the present application, and the description of the examples above is only intended to assist in understanding the methods of the present application and their core ideas. It should be noted that it would be obvious to those skilled in the art that various improvements and modifications can be made to the present application without departing from the principles of the present application, and such improvements and modifications fall within the scope of the claims of the present application.

Claims (7)

1. The MMIO resource setting method is characterized by comprising the following steps:
displaying MMIO High Granularity Size and MMIO High Base setting items; the setting items comprise a custom setting item and a plurality of fixed setting items which are sequentially increased;
receiving a setting instruction of the setting item;
judging whether the sum of MMIO resource amounts of all Stacks and the sum of MMIO High Base is smaller than a threshold value, wherein the threshold value is the maximum physical limit of MMIO resources; if yes, setting MMIO granularity values, stack resource Base values, limit values and corresponding registers of all stacks according to the setting instruction;
judging whether the sum of MMIO resources and MMIO High Base of all Stacks is larger than the threshold value; if yes, performing reduction adjustment on the MMIO High Base value;
and modifying the fault reporting function and the downtime function of the MMIO upper limit according to the threshold.
2. The setting method according to claim 1, wherein receiving a setting instruction of the setting item includes:
receiving a setting instruction of the setting item through a BIOS setting interface, and carrying out corresponding processing according to the setting instruction.
3. The setting method according to claim 1, characterized by further comprising:
when the MMIO resource quantity of any Stack connecting device is larger than a preset quantity, dynamically and incrementally adjusting MMIO High Granularity Size and MMIO High Base of the Stack; the configuration data for each Stack is updated.
4. The setting method according to claim 1, characterized by further comprising:
acquiring the numerical value of an EAX register through a CPUID command;
and analyzing the numerical value of the EAX register to obtain the threshold value.
5. An apparatus for setting MMIO resources, comprising:
the setting item display module is used for displaying the setting items of MMIO High Granularity Size and MMIO High Base; the setting items comprise a custom setting item and a plurality of fixed setting items which are sequentially increased;
the instruction receiving module is used for receiving a setting instruction of the setting item;
the first judging module is used for judging whether the sum of MMIO resource amounts of all stacks and the sum of MMIO High Base are smaller than a threshold value, wherein the threshold value is the maximum physical limit of MMIO resources; if yes, setting MMIO granularity values, stack resource Base values, limit values and corresponding registers of all stacks according to the setting instruction;
the second judging module is used for judging whether the sum of MMIO resources and MMIO High Base of all Stacks is larger than the threshold value; if yes, performing reduction adjustment on the MMIO High Base value;
and the modification module is used for modifying the fault reporting function and the downtime function of the MMIO upper limit according to the threshold value.
6. A server, comprising:
a memory for storing a computer program;
processor for implementing the steps of the setting method according to any of claims 1 to 4 when executing said computer program.
7. A computer-readable storage medium, characterized in that the computer-readable storage medium has stored thereon a computer program which, when executed by a processor, implements the steps of the setting method according to any of claims 1 to 4.
CN202110314302.6A 2021-03-24 2021-03-24 MMIO resource setting method and related device Active CN113032148B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110314302.6A CN113032148B (en) 2021-03-24 2021-03-24 MMIO resource setting method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110314302.6A CN113032148B (en) 2021-03-24 2021-03-24 MMIO resource setting method and related device

Publications (2)

Publication Number Publication Date
CN113032148A CN113032148A (en) 2021-06-25
CN113032148B true CN113032148B (en) 2023-07-18

Family

ID=76473411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110314302.6A Active CN113032148B (en) 2021-03-24 2021-03-24 MMIO resource setting method and related device

Country Status (1)

Country Link
CN (1) CN113032148B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648878A (en) * 2015-10-29 2017-05-10 华为技术有限公司 System and method thereof for dynamically distributing MMIO resources
CN107133185A (en) * 2017-04-19 2017-09-05 深圳市同泰怡信息技术有限公司 The method and mainboard of PCIE device warm connection function are realized by BIOS
CN108292266A (en) * 2015-12-24 2018-07-17 英特尔Ip公司 SoC structure extensions by memory range screening washer and the planarization of optional address for configurable memory mapping
US10331557B1 (en) * 2017-12-29 2019-06-25 American Megatrends International, Llc Distribution of memory address resources to bus devices in a multi-processor computing system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7213081B2 (en) * 2001-06-29 2007-05-01 Fujitsu Limited Dynamic determination of memory mapped input output range granularity for multi-node computer system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648878A (en) * 2015-10-29 2017-05-10 华为技术有限公司 System and method thereof for dynamically distributing MMIO resources
CN108292266A (en) * 2015-12-24 2018-07-17 英特尔Ip公司 SoC structure extensions by memory range screening washer and the planarization of optional address for configurable memory mapping
CN107133185A (en) * 2017-04-19 2017-09-05 深圳市同泰怡信息技术有限公司 The method and mainboard of PCIE device warm connection function are realized by BIOS
US10331557B1 (en) * 2017-12-29 2019-06-25 American Megatrends International, Llc Distribution of memory address resources to bus devices in a multi-processor computing system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于SR-IOV扩展的VF分配模型;李南等;计算机应用与软件;第30卷(第11期);全文 *

Also Published As

Publication number Publication date
CN113032148A (en) 2021-06-25

Similar Documents

Publication Publication Date Title
CN102511039B (en) Mapping non-prefetchable storage locations into memory mapped input/output space
CN101090323B (en) Storage device allocation managing method and system in switches utilizing a flow control
CN110362402B (en) Load balancing method, device, equipment and readable storage medium
CN108874544A (en) A kind of method and system of GPU server I/O resource allocation
JP5796722B2 (en) Computer server capable of supporting CPU virtualization
CN109933557A (en) A kind of generation method and device of I2C topological diagram
CN106489132A (en) The method of read-write data, device, storage device and computer system
CN111008162A (en) Method and system for realizing single PCIE slot supporting multiple PCIE ports
CN113688001A (en) Dynamic balancing method and device for server hard disk power consumption, terminal and storage medium
CN110209605B (en) Register read-write method of PCIE bus network card and computing equipment
US20180048559A1 (en) Apparatus assigning controller and apparatus assigning method
CN109521970B (en) Data processing method and related equipment
CN113032148B (en) MMIO resource setting method and related device
DE102021107336A1 (en) DEVICES, SYSTEMS, AND METHODS FOR PCIe ENDPOINT INTERRUPT
EP2829988A1 (en) Storage apparatus, and system and method for executing access operations
CN105988871B (en) Remote memory allocation method, device and system
CN111061659A (en) Bus switching method and related device
CN109558210A (en) A kind of method and system of virtual machine applied host machine GPU equipment
CN113407322B (en) Multi-terminal task allocation method and device, electronic equipment and readable storage medium
CN106648878B (en) System and method for dynamically allocating MMIO resources
CN106326001B (en) Information processing method and electronic equipment
CN109144578B (en) Display card resource allocation method and device based on Loongson computer
CN111708614A (en) Method, system and related equipment for dynamically adjusting resource parameters of virtual machine
CN112463483A (en) UPI pressure testing method, system, terminal and storage medium
CN111857996A (en) Interrupt processing method, system, equipment and computer readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant