Dynamic altering of SRIOV virtual function (VF) resources including DMA windows without bringing down the VF

US10007545B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10007545-B2
Application numberUS-201615070410-A
CountryUS
Kind codeB2
Filing dateMar 15, 2016
Priority dateMar 15, 2016
Publication dateJun 26, 2018
Grant dateJun 26, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method, system and computer program product are provided for implementing dynamic altering of a Single Root Input/Output Virtualization (SRIOV) virtual function (VF) resources including direct memory access (DMA) windows without bringing down the VF in a virtualized system. A request to alter VF resources is received, such as a dynamic request based on usage statistics or change in need of the user. Pending DMA requests are completed for the VF resources to be altered. Responsive to completing the DMA requests, new buffers are allocated for the resized DMA windows without bringing down the VF in a virtualized system.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for implementing dynamic altering of Single Root Input/Output Virtualization (SRIOV) virtual function (VF) resources including direct memory access (DMA) windows without bringing down the VF in a virtualized system, said method comprising: receiving a request to alter VF resources; completing pending DMA requests for the VF resources to be altered including resizing DMA windows; responsive to the completed pending DMA requests, allocating new buffers in resized DMA windows without bringing down the VF in the virtualized system; and migrating Translation Control Entry (TCE) tables using a Dual Write mode in a TCE table header, without affecting any live traffic of affected VFs. 2. The method as recited in claim 1 , includes providing a Single Root Input/Output Virtualization (SRIOV) adapter with a plurality of virtual functions (VFs) and providing a physical function (PF) with the Single Root Input/Output Virtualization (SRIOV) adapter, said physical function containing said plurality of virtual functions (VFs), and wherein dynamic altering of the SRIOV virtual function (VF) resources including direct memory access (DMA) windows includes sending the DMA window change to a virtual function (VF) driver for the SRIOV virtual function (VF) to be altered. 3. The method as recited in claim 2 , includes providing a hypervisor receiving a request to increase a virtual function (VF) DMA window size. 4. The method as recited in claim 3 , includes said hypervisor determining position of a free DMA window to increase the virtual function (VF) DMA window size. 5. The method as recited in claim 4 , includes said hypervisor based on the determined position of the free DMA window, using one or more Translation Control Entry (TCE) table migrations to make the free DMA window contiguous to the virtual function (VF) DMA window. 6. The method as recited in claim 1 , includes migrating Translation Control Entry (TCE) tables for enabling the alteration of the VF resources without bringing down the VFs. 7. The method as recited in claim 1 , includes providing a novel TCE Table header including said Dual Write Mode and a Destination TCE Table Address. 8. The method as recited in claim 1 , includes setting a Destination TCE Table address in a TCE Table Header, setting a dual write mode in the TCE Table Header, and copying table contents from a source TCE table to a destination TCE Table. 9. The method as recited in claim 8 , includes performing writes to the TCE table during any stage of the copying, to both the source TCE table and the destination TCE Table. 10. A system for implementing dynamic altering of Single Root Input/Output Virtualization (SRIOV) virtual function (VF) resources including direct memory access (DMA) windows without bringing down the VF in a virtualized system comprising: a Single Root Input/Output Virtualization (SRIOV) adapter comprising a plurality of virtual functions (VFs), and a physical function (PF) containing said plurality of virtual functions (VFs); a processor; a management function and a hypervisor managing functions associated with the SRIOV adapter including the SRIOV PF and VFs; said processor using said management function and said hypervisor to perform the steps of: receiving a request to alter VF resources; completing pending DMA requests for the VF resources to be altered including resizing DMA windows; responsive to completing the pending DMA requests, allocating new buffers for resized DMA windows without bringing down the VF in a virtualized system; and migrating Translation Control Entry (TCE) tables using a Dual Write mode in a TCE table header, without affecting any live traffic of affected VFs. 11. The system as recited in claim 10 , wherein said management function and said hypervisor include control code tangibly embodied in a non-transitory machine readable medium used for implementing dynamic resizing of the SRIOV VF. 12. The system as recited in claim 10 , said hypervisor further includes a respective virtual function (VF) device driver coupled to SRIOV VFs; and wherein said hypervisor communicates the request to alter VF resources to an associated SRIOV VF device driver. 13. The system as recited in claim 10 , further includes said processor using said management function and said hypervisor to perform the steps of migrating Translation Control Entry (TCE) tables for enabling the alteration of the VF resources without bringing down the VFs. 14. The system as recited in claim 10 , includes providing a novel TCE Table header including said Dual Write Mode and a Destination TCE Table Address. 15. The system as recited in claim 10 , includes said hypervisor receiving a request to increase a virtual function (VF) DMA window size. 16. The system as recited in claim 10 , includes said hypervisor determining position of a free DMA window to increase the virtual function (VF) DMA window size. 17. The system as recited in claim 16 , includes said hypervisor based on the determined position of the free DMA window, using one or more Translation Control Entry (TCE) table migrations to make the free DMA window contiguous to the virtual function (VF) DMA window. 18. A system for implementing dynamic altering of Single Root Input/Output Virtualization (SRIOV) virtual function (VF) resources including direct memory access (DMA) windows without bringing down the VF in a virtualized system comprising: a Single Root Input/Output Virtualization (SRIOV) adapter comprising a plurality of virtual functions (VFs), and a physical function (PF) containing said plurality of virtual functions (VFs); a processor; a management function and a hypervisor managing functions associated with the SRIOV adapter including the SRIOV PF and VFs; said processor using said management function and said hypervisor to perform the steps of: receiving a request to alter VF resources; completing pending DMA requests for the VF resources to be altered including resizing DMA windows; responsive to completing the pending DMA requests, allocating new buffers for resized DMA windows without bringing down the VF in a virtualized system; and setting a Destination Translation Control Entry (TCE) Table address in a TCE Table Header, setting a dual write mode in the TCE Table Header, and copying table contents from a source TCE table to a destination TCE Table.

Assignees

Inventors

Classifications

  • using buffers · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Memory management, e.g. access or allocation · CPC title

  • I/O management, e.g. providing access to device drivers or storage · CPC title

  • using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10007545B2 cover?
A method, system and computer program product are provided for implementing dynamic altering of a Single Root Input/Output Virtualization (SRIOV) virtual function (VF) resources including direct memory access (DMA) windows without bringing down the VF in a virtualized system. A request to alter VF resources is received, such as a dynamic request based on usage statistics or change in need of th…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 26 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).