Patents by Inventor Florian A. Auernhammer
Florian A. Auernhammer has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11755362Abstract: Techniques of handling interrupt escalation are implemented in hardware. In at least one embodiment, an interrupt presentation controller (IPC) receives an event notification message requesting an interrupt, specifying an interrupt priority, and referencing a virtual processor (VP) thread. The IPC determines whether the VP thread matches any interruptible VP thread. If not, the IPC conditionally escalates the interrupt requested by the event notification message. Conditionally escalating the interrupt includes determining whether or not the interrupt priority is greater than the operating priority of any interruptible VP thread. If so, the IPC initiates escalation of the interrupt requested by the event notification message to a next higher software stack level by issuing an escalate message. If not, the IPC refrains from escalating the interrupt requested by the event notification message.Type: GrantFiled: June 11, 2021Date of Patent: September 12, 2023Assignee: International Business Machines CorporationInventors: Florian Auernhammer, Benjamin Herrenschmidt
-
Patent number: 11645215Abstract: A plurality of virtual processor threads are executed on the plurality of physical processor threads. In a data structure, information pertaining to a plurality of interrupt sources in the data processing system is maintained. The information includes a historical scope of transmission of interrupt commands for an interrupt source. Based on an interrupt request from an interrupt source, an interrupt master transmits a first interrupt bus command on an interconnect fabric of the data processing system to poll one or more interrupt snoopers regarding availability of one or more of the virtual processor threads to service an interrupt. The interrupt master updates the scope of transmission specified in the data structure based on a combined response to the first interrupt bus command. The interrupt master applies the scope of transmission specified in the data structure to a subsequent second interrupt bus command for the interrupt source.Type: GrantFiled: June 11, 2021Date of Patent: May 9, 2023Assignee: International Business Machines CorporationInventors: Florian Auernhammer, Wayne Melvin Barrett, David A. Shedivy
-
Patent number: 11561819Abstract: Techniques of adapting an interrupt escalation path are implemented in hardware. An interrupt controller receives, from a physical thread of the processor core, a request to adapt, in an event assignment data structure, an escalation path for a specified event source, where the escalation path includes a pointer to a first event notification descriptor. The interrupt controller reads an entry for the physical thread in an interrupt context data structure to determine a virtual processor thread running on the physical thread. Based on the virtual processor thread determined from the interrupt context data structure, the interrupt controller accesses an entry in a virtual processor data structure to determine a different second event notification descriptor to which escalations are to be routed. The interrupt controller updates the pointer in the event assignment data structure to identify the second event notification descriptor, such that the interrupt escalation path is adapted.Type: GrantFiled: June 11, 2021Date of Patent: January 24, 2023Assignee: International Business Machines CorporationInventor: Florian Auernhammer
-
Patent number: 11556482Abstract: A processor receives, from a requestor, a first request containing a virtual address. Based on the first request, the processor determines a real address corresponding to the virtual address, encrypts at least a portion of the real address to obtain a cryptographic secure real address, and returns the cryptographic secure real address to the requestor. Based on receiving a second request specifying a request address, the processor decrypts the request address to validate the request address as the cryptographic secure real address. Based on validating the request address as the cryptographic secure real address, the processor allows access to a resource of the data processing system identified by the real address.Type: GrantFiled: September 30, 2021Date of Patent: January 17, 2023Assignee: International Business Machines CorporationInventors: Guerney D. H. Hunt, Charles R. Johns, Florian Auernhammer, Charanjit Singh Jutla
-
Publication number: 20220398130Abstract: Asynchronous completion notification is provided in a data processing system including one or more cores each executing one or more threads. A hardware unit of the data processing system receives and enqueues a request for processing and a source tag indicating at least a thread and core that issued the request. The hardware unit maintains a pointer to a completion area in a memory space. The completion area includes a completion granule for the hardware unit and thread. The hardware unit performs the processing requested by the request and computes an address of the completion granule based on the pointer and the source tag. The hardware unit then provides completion notification for the request by updating the completion granule with a value indicating a completion status.Type: ApplicationFiled: June 11, 2021Publication date: December 15, 2022Inventors: Florian Auernhammer, David A. Shedivy, Daniel Wind, Wayne Melvin Barrett
-
Publication number: 20220398204Abstract: A plurality of virtual processor threads are executed on the plurality of physical processor threads. In a data structure, information pertaining to a plurality of interrupt sources in the data processing system is maintained. The information includes a historical scope of transmission of interrupt commands for an interrupt source. Based on an interrupt request from an interrupt source, an interrupt master transmits a first interrupt bus command on an interconnect fabric of the data processing system to poll one or more interrupt snoopers regarding availability of one or more of the virtual processor threads to service an interrupt. The interrupt master updates the scope of transmission specified in the data structure based on a combined response to the first interrupt bus command. The interrupt master applies the scope of transmission specified in the data structure to a subsequent second interrupt bus command for the interrupt source.Type: ApplicationFiled: June 11, 2021Publication date: December 15, 2022Inventors: Florian Auernhammer, Wayne Melvin Barrett, David A. Shedivy
-
Publication number: 20220398125Abstract: Techniques of handling interrupt escalation are implemented in hardware. In at least one embodiment, an interrupt presentation controller (IPC) receives an event notification message requesting an interrupt, specifying an interrupt priority, and referencing a virtual processor (VP) thread. The IPC determines whether the VP thread matches any interruptible VP thread. If not, the IPC conditionally escalates the interrupt requested by the event notification message. Conditionally escalating the interrupt includes determining whether or not the interrupt priority is greater than the operating priority of any interruptible VP thread. If so, the IPC initiates escalation of the interrupt requested by the event notification message to a next higher software stack level by issuing an escalate message. If not, the IPC refrains from escalating the interrupt requested by the event notification message.Type: ApplicationFiled: June 11, 2021Publication date: December 15, 2022Inventors: Florian Auernhammer, Benjamin Herrenschmidt
-
Publication number: 20220398124Abstract: Techniques of adapting an interrupt escalation path are implemented in hardware. An interrupt controller receives, from a physical thread of the processor core, a request to adapt, in an event assignment data structure, an escalation path for a specified event source, where the escalation path includes a pointer to a first event notification descriptor. The interrupt controller reads an entry for the physical thread in an interrupt context data structure to determine a virtual processor thread running on the physical thread. Based on the virtual processor thread determined from the interrupt context data structure, the interrupt controller accesses an entry in a virtual processor data structure to determine a different second event notification descriptor to which escalations are to be routed. The interrupt controller updates the pointer in the event assignment data structure to identify the second event notification descriptor, such that the interrupt escalation path is adapted.Type: ApplicationFiled: June 11, 2021Publication date: December 15, 2022Inventor: Florian Auernhammer
-
Patent number: 11074205Abstract: A snooper of a processing unit connected to processing units via a system fabric receives a first single bus command in a bus protocol that allows sampling over the system fabric of the capability of snoopers to handle an interrupt and returns a first response indicating the capability of the snooper to handle the interrupt. The snooper, in response to receiving a second single bus command in the bus protocol to poll a first selection of snoopers for an availability status to service a criteria specified in the second single bus command, returns a second response indicating the availability of the snooper to service the criteria. The snooper, in response to receiving a third single bus command in the bus protocol to direct the snooper to handle the interrupt, assigns the interrupt to a particular processor thread of a respective selection of the one or more separate selections of processors threads distributed in the processing unit.Type: GrantFiled: August 14, 2019Date of Patent: July 27, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Richard L. Arndt, Florian Auernhammer, Wayne M. Barrett, Robert A. Drehmel, Guy L. Guthrie, Michael S. Siegel, William J. Starke
-
Patent number: 10614010Abstract: A technique for handling queued interrupts includes accumulating, by an interrupt routing controller (IRC), respective backlog counts for respective event paths. The backlog counts track a number of events received but not delivered as interrupts to associated virtual processor (VP) threads upon which respective target interrupt handlers execute. An increment backlog (IB) message is received by the IRC. In response to receiving the IB message, the IRC determines an associated saturate value for an event path specified in the IB message. The IRC increments an associated backlog count for the event path specified in the IB message as long as the associated backlog count does not exceed the associated saturate value.Type: GrantFiled: August 24, 2018Date of Patent: April 7, 2020Assignee: International Business Machines CorporationInventors: Richard L. Arndt, Florian A. Auernhammer
-
Patent number: 10565140Abstract: A technique for handling interrupts in a data processing system includes receiving, by an interrupt routing controller (IRC), an event routing message (ERM) that includes an event source number for a notification source with an unserviced interrupt. In response to receiving the ERM, the IRC builds an event notification message (ENM) based on the event source number. The IRC determines a scope for the ENM based on an event target group (ETG) associated with the event source number. The IRC issues the ENM to an interrupt presentation controller (IPC) at the scope associated with the ETG.Type: GrantFiled: November 29, 2017Date of Patent: February 18, 2020Assignee: International Business Machines CorporationInventors: Florian A. Auernhammer, Wayne M. Barrett, Robert A. Drehmel, Michael S. Siegel
-
Patent number: 10552351Abstract: A technique for handling interrupts in a data processing system includes receiving, by an interrupt routing controller (IRC), an event routing message (ERM) that includes an event source number for a notification source with an unserviced interrupt. In response to receiving the ERM, the IRC builds an event notification message (ENM) based on the event source number. The IRC determines a scope for the ENM based on an event target group (ETG) associated with the event source number. The IRC issues the ENM to an interrupt presentation controller (IPC) at the scope associated with the ETG.Type: GrantFiled: January 22, 2019Date of Patent: February 4, 2020Assignee: International Business Machines CorporationInventors: Florian A. Auernhammer, Wayne M. Barrett, Robert A. Drehmel, Michael S. Siegel
-
Publication number: 20190370198Abstract: A snooper of a processing unit connected to processing units via a system fabric receives a first single bus command in a bus protocol that allows sampling over the system fabric of the capability of snoopers to handle an interrupt and returns a first response indicating the capability of the snooper to handle the interrupt. The snooper, in response to receiving a second single bus command in the bus protocol to poll a first selection of snoopers for an availability status to service a criteria specified in the second single bus command, returns a second response indicating the availability of the snooper to service the criteria. The snooper, in response to receiving a third single bus command in the bus protocol to direct the snooper to handle the interrupt, assigns the interrupt to a particular processor thread of a respective selection of the one or more separate selections of processors threads distributed in the processing unit.Type: ApplicationFiled: August 14, 2019Publication date: December 5, 2019Inventors: RICHARD L. ARNDT, FLORIAN AUERNHAMMER, WAYNE M. BARRETT, ROBERT A. DREHMEL, GUY L. GUTHRIE, MICHAEL S. SIEGEL, WILLIAM J. STARKE
-
Patent number: 10437755Abstract: A technique for handling interrupts in a data processing system includes receiving, at an interrupt presentation controller (IPC), an event notification message (ENM). The ENM specifies an event target number, a number of bits to ignore, an event source number, and an event priority. The IPC determines a group of virtual processor threads that may be potentially interrupted based on the event target number and the number of bits to ignore specified in the ENM. The event target number identifies a specific virtual processor thread and the number of bits to ignore identifies the number of lower-order bits to ignore with respect to the specific virtual processor thread when determining a group of virtual processor threads that may be potentially interrupted.Type: GrantFiled: October 26, 2016Date of Patent: October 8, 2019Assignee: International Business Machines CorporationInventors: Richard L. Arndt, Florian A. Auernhammer
-
Patent number: 10423550Abstract: A processing unit connected via a system fabric to multiple processing units calls a first single command in a bus protocol that allows sampling over the system fabric of the capability of snoopers distributed across the processing units to handle an interrupt. The processing unit, in response to detecting at least one first selection of snoopers with capability to handle the interrupt, calling a second single command in the bus protocol to poll the first selection of snoopers over the system fabric for an availability status. The processing unit, in response to detecting at least one second selection of snoopers respond with the available status indicating an availability to handle the interrupt, assigning a single snooper from among the second selection of snoopers to handle the interrupt by calling a third single command in the bus protocol.Type: GrantFiled: October 25, 2017Date of Patent: September 24, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Richard L. Arndt, Florian Auernhammer, Wayne M. Barrett, Robert A. Drehmel, Guy L. Guthrie, Michael S. Siegel, William J. Starke
-
Publication number: 20190155771Abstract: A technique for handling interrupts in a data processing system includes receiving, by an interrupt routing controller (IRC), an event routing message (ERM) that includes an event source number for a notification source with an unserviced interrupt. In response to receiving the ERM, the IRC builds an event notification message (ENM) based on the event source number. The IRC determines a scope for the ENM based on an event target group (ETG) associated with the event source number. The IRC issues the ENM to an interrupt presentation controller (IPC) at the scope associated with the ETG.Type: ApplicationFiled: January 22, 2019Publication date: May 23, 2019Inventors: Florian A. Auernhammer, Wayne M. Barrett, Robert A. Drehmel, Michael S. Siegel
-
Publication number: 20190121760Abstract: A processing unit connected via a system fabric to multiple processing units calls a first single command in a bus protocol that allows sampling over the system fabric of the capability of snoopers distributed across the processing units to handle an interrupt. The processing unit, in response to detecting at least one first selection of snoopers with capability to handle the interrupt, calling a second single command in the bus protocol to poll the first selection of snoopers over the system fabric for an availability status. The processing unit, in response to detecting at least one second selection of snoopers respond with the available status indicating an availability to handle the interrupt, assigning a single snooper from among the second selection of snoopers to handle the interrupt by calling a third single command in the bus protocol.Type: ApplicationFiled: October 25, 2017Publication date: April 25, 2019Inventors: RICHARD L. ARNDT, FLORIAN AUERNHAMMER, WAYNE M. BARRETT, ROBERT A. DREHMEL, GUY L. GUTHRIE, MICHAEL S. SIEGEL, WILLIAM J. STARKE
-
Patent number: 10248593Abstract: A technique for handling interrupts in a data processing system includes receiving, at an interrupt presentation controller (IPC), an event notification message (ENM) that specifies an event target number and a number of bits to ignore. In response to a slot being available in an interrupt request queue, the IPC enqueues the ENM in the slot. In response to the ENM being dequeued from the interrupt request queue, the IPC determines a group of virtual processor threads that may be potentially interrupted based on the event target number and the number of bits to ignore specified in the ENM. The event target number identifies a specific virtual processor thread and the number of bits to ignore identifies the number of lower-order bits to ignore with respect to the specific virtual processor thread when determining a group of virtual processor threads that may be potentially interrupted.Type: GrantFiled: June 4, 2017Date of Patent: April 2, 2019Assignee: International Business Machines CorporationInventors: Florian A. Auernhammer, Daniel Wind
-
Patent number: 10229075Abstract: A method of handling interrupts includes receiving an event notification message (ENM) that specifies a level, an event target number (ETN), and a number of bits to ignore. A group of virtual processor threads that may be potentially interrupted are determined based on the ETN, the number of bits to ignore, and a process identifier when the level specified in the ENM corresponds to a user level. The ETN identifies a specific virtual processor thread and the number of bits to ignore identifies the number of lower-order bits to ignore when determining a group of virtual processor threads that may be potentially interrupted. In response to no virtual processor thread within the group of virtual processor threads being dispatched and operating on an associated physical processor, an escalate message that includes an escalate event number is transmitted. The escalate event number is used to generate a subsequent ENM.Type: GrantFiled: November 28, 2017Date of Patent: March 12, 2019Assignee: International Business Machines CorporationInventors: Richard L. Arndt, Florian A. Auernhammer
-
Patent number: 10229074Abstract: A technique for handling interrupts in a data processing system includes receiving, at an interrupt presentation controller (IPC), an event notification message (ENM) that specifies an event target number and a number of bits to ignore. In response to a slot being available in an interrupt request queue, the IPC enqueues the ENM in the slot. In response to the ENM being dequeued from the interrupt request queue, the IPC determines a group of virtual processor threads that may be potentially interrupted based on the event target number and the number of bits to ignore specified in the ENM. The event target number identifies a specific virtual processor thread and the number of bits to ignore identifies the number of lower-order bits to ignore with respect to the specific virtual processor thread when determining a group of virtual processor threads that may be potentially interrupted.Type: GrantFiled: November 29, 2017Date of Patent: March 12, 2019Assignee: International Business Machines CorporationInventors: Florian A. Auernhammer, Daniel Wind