CN1702625A - 保存跟踪数据的方法和装置 - Google Patents

保存跟踪数据的方法和装置 Download PDF

Info

Publication number
CN1702625A
CN1702625A CNA2005100730734A CN200510073073A CN1702625A CN 1702625 A CN1702625 A CN 1702625A CN A2005100730734 A CNA2005100730734 A CN A2005100730734A CN 200510073073 A CN200510073073 A CN 200510073073A CN 1702625 A CN1702625 A CN 1702625A
Authority
CN
China
Prior art keywords
subregion
data
tracking data
instruction
identified
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.)
Granted
Application number
CNA2005100730734A
Other languages
English (en)
Other versions
CN100356335C (zh
Inventor
A·基塔莫恩
A·库尔卡尼
G·D·麦金托什
G·L·鲁泽克
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1702625A publication Critical patent/CN1702625A/zh
Application granted granted Critical
Publication of CN100356335C publication Critical patent/CN100356335C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems

Abstract

一种用于在逻辑分区数据处理系统中处理跟踪数据的方法、装置和计算机指令。引起异常的分区会被标识以响应检测到所述异常。所述分区是所述逻辑分区数据处理系统内一组分区中的一个分区。所述被标识的分区的所述跟踪数据被存储在错误日志或其他数据结构中,以供机器检查中断处理器使用。

Description

保存跟踪数据的方法和装置
技术领域
本发明一般涉及改进的数据处理系统,具体地说,涉及用于处理数据的方法和装置。更具体地说,本发明涉及用于在逻辑分区数据处理系统中管理跟踪数据的方法、装置和计算机指令。
背景技术
诸如国际商业机器公司的IBM eServer P690、惠普公司的DHP9000Superdome Enterprise Server以及Sun微系统公司的Sunfire 15K Server之类的日益增加的大型对称多处理器数据处理系统并非被用作单个大型数据处理系统。相反,这些类型的数据处理系统被分区并且被用作更小的系统。这些系统也被称为逻辑分区(LPAR)数据处理系统。数据处理系统中的逻辑分区功能允许单个操作系统的多个拷贝或多个异构操作系统在单个数据处理系统平台上同时运行。其中运行有操作系统映像的分区被分配平台资源的一个非重叠子集。这些平台可分配的资源包括一个或多个在体系结构上截然不同的处理器及其中断管理区域、系统存储器区域以及输入/输出(I/O)适配器总线槽。分区的资源通过平台的固件被呈现给操作系统映像。
在某一平台内运行的每个不同的操作系统或操作系统映像被相互保护,以使一个逻辑分区上的软件错误不会影响任何其他分区的正确运行。通过分配将由每个操作系统映像直接管理的平台资源的不相交集合,并通过提供用于确保各个映像均无法控制尚未分配给该映像的任何资源的机制,可以提供这种保护。此外,可以阻止在控制操作系统的已分配资源时出现的软件错误影响任何其他映像的资源。
因此,每个操作系统映像或每个不同的操作系统都直接控制平台内可分配资源的不同集合。就逻辑分区数据处理系统中的硬件资源而言,这些资源被在各个分区之间分隔地共享。这些资源可以包括例如输入/输出(I/O)适配器、存储器DIMM、非易失性随机存取存储器(NVRAM)以及硬盘驱动器。LPAR数据处理系统中的每个分区都可以在不必开关整个数据处理系统电源的情况下被反复引导和关闭。
当逻辑分区数据处理系统遇到故障时,需要与过程和系统状态相关的数据来帮助识别和分析故障。在当前的逻辑分区数据处理系统中,由于当前系统设计的原因,某些诊断故障所需的数据并不可用。例如,平台固件包括一个跟踪工具,其允许跟踪固件中的代码路径。逻辑分区数据处理系统中使用的平台固件的一个实例是管理程序,其可从国际商业机器公司获得。
借助当前使用的跟踪工具,当每个分区作出平台固件调用时,显示平台固件中所采取的代码路径的跟踪信息以及关键数据值被写入一个跟踪缓冲区中。当分区遇到错误并且错误路径同关键数据值一起被跟踪时,此跟踪信息尤为重要。
当前,所有逻辑分区模式数据处理系统平台都支持管理程序跟踪工具,该工具用于在管理程序执行期间,将管理程序代码执行跟踪点数据写入位于管理程序空间中的跟踪缓冲区。在系统出现故障的情况下,该管理程序跟踪数据对于现场的有效故障分析非常关键。
这种情况产生了一个问题,在大型配置中,处理器被专用于多个分区,其中这些分区写入同一缓冲区。这些缓冲区通常以循环的方式来组织。因此,如果出现分区崩溃,跟踪数据会很快地被逻辑分区数据处理系统中的其他分区所改写。结果,帮助诊断问题所需的关键数据可能会丢失。
一种解决方案是创建更大的缓冲区。进而,随着分区数量的增加,该跟踪缓冲区的大小也需要增大以容纳额外的分区。缓冲区结构必须被预先分配考虑到的最大配置,因为每个逻辑分区数据处理系统都被单独配置并允许进行动态配置。结果,对于较小的配置,存在被浪费的存储器空间。进而,在系统存储器占较高价格的系统中,浪费的空间增加了逻辑分区数据处理系统的成本。
因此,具有一种用于保存跟踪数据的改进的方法、装置和计算机指令是有利的。
发明内容
本发明提供了一种用于处理逻辑分区数据处理系统中的跟踪数据的方法、装置和计算机指令。引起异常的分区被标识以响应检测到所述异常。所述分区是所述逻辑分区数据处理系统中的一组分区中的一个分区。用于所述被标识的分区的跟踪数据被存储在用于机器检查中断处理器的错误日志或其他数据结构中。
附图说明
在所附权利要求中说明了被认为是本发明特性的新颖特征。但是,当结合附图阅读时,通过参考以下对示例性实施例的详细说明,可以最佳地理解发明本身及其优选使用方式、进一步的目的和优点,这些附图是:
图1是其中可以实现本发明的数据处理系统的方块图;
图2是其中可以实现本发明的示例性逻辑分区平台的方块图;
图3是用于处理跟踪数据的现有逻辑分区数据处理系统中的组件的示意图;
图4是根据本发明的一个优选实施例的用于管理跟踪数据以消除安全弱点的配置的示意图;
图5是根据本发明的一个优选实施例的用于过滤跟踪数据的过程的流程图;以及
图6是根据本发明的一个优选实施例的用于在错误日志中保存跟踪数据的过程的流程图。
具体实施方式
现在参考附图,具体地说,参考图1,图1示出了其中可以实现本发明的数据处理系统的方块图。数据处理系统100可以是一个对称多处理器(SMP)系统,所述系统包括多个连接到系统总线106的处理器101、102、103和104。例如,数据处理系统100可以是网络中作为服务器实现的IMBeServer,其是位于纽约阿蒙克的国际商业机器公司的产品。可替代地,可以采用单处理器系统。同时连接到系统总线106的是存储器控制器/高速缓冲存储器108,它提供与多个本地存储器160-163的接口。I/O总线桥110与系统总线106相连并提供与I/O总线112的接口。如图所示,存储器控制器/高速缓冲存储器108与I/O总线桥110可以是一体的。
数据处理系统100是一个逻辑分区(LPAR)数据处理系统。因此,数据处理系统100可以使多个异构操作系统(或单个操作系统的多个实例)同时运行。这些多个操作系统中的每个操作系统都可以在其中执行任意数量的软件程序。数据处理系统100被逻辑地分区,以使不同的PCI I/O适配器120-121、128-129和136、图形适配器148以及硬盘适配器149可以被分配给不同的逻辑分区。在此情况下,图形适配器148为显示装置(未示出)提供了连接,而硬盘适配器149提供了连接以控制硬盘150。
因此,例如假设数据处理系统100被分成三个逻辑分区P1、P2和P3。各个PCI I/O适配器120-121、128-129、136、图形适配器148、硬盘适配器149、各个主机处理器101-104以及来自本地存储器160-163的存储器,都被分配给这三个分区中的每个分区。在这些实例中,存储器160-163可以采取双列直插存储器模块(DIMM)的形式。通常,并不在每一DIMM的基础上将DIMM分配给各分区。相反,某一分区将得到由平台所见的总体存储器的一部分。例如,处理器101、来自本地存储器160-163的存储器的某些部分以及I/O适配器120、128和129可以被分配给逻辑分区P1;处理器102-103、来自本地存储器160-163的存储器的某些部分以及PCI I/O适配器121和136可以被分配给逻辑分区P2;并且处理器104、来自本地存储器160-163的存储器的某些部分、图形适配器148和硬盘适配器149可以被分配给逻辑分区P3。
在数据处理系统100中执行的每个操作系统都被分配给不同的逻辑分区。因此,在数据处理系统100中执行的每个操作系统只访问在其逻辑分区之内的那些I/O单元。因此,例如,高级交互执行(AIX)操作系统的一个实例可以在分区P1中执行,所述AIX操作系统的第二个实例(映像)可以在分区P2中执行,并且Linux或OS/400操作系统可以在逻辑分区P3中运行。
连接到I/O总线112的外围组件互连(PCI)主机桥114提供与PCI局部总线115的接口。多个PCI输入/输出适配器120-121可以通过PCI至PCI桥116、PCI总线118、PCI总线119、I/O槽170和I/O槽171与PCI总线115相连。PCI至PCI桥116提供与PCI总线118和PCI总线119的接口。PCI I/O适配器120和121被分别放置在I/O槽170和171中。典型的PCI总线实现将支持四至八个I/O适配器(即,用于附加连接器的扩展槽)。每个PCI I/O适配器120-121都提供了数据处理系统100与诸如例如其他网络计算机之类的输入/输出设备(其是数据处理系统100的客户)之间的接口。
附加的PCI主机桥122提供用于附加的PCI总线123的接口。PCI总线123与多个PCI I/O适配器128-129相连。PCI I/O适配器128-129可以通过PCI至PCI桥124、PCI总线126、PCI总线127、I/O槽172和I/O槽173与PCI总线123相连。PCI至PCI桥124提供与PCI总线126和PCI总线127的接口。PCI I/O适配器128和129被分别放置在I/O槽172和173中。以这种方式,通过各个PCI I/O适配器128-129,可以支持诸如例如调制解调器或网络适配器之类的附加I/O设备。通过这种方式,数据处理系统100允许到多个网络计算机的连接。
插入到I/O槽174中的存储器映射的图形适配器148可以通过PCI总线144、PCI至PCI桥142、PCI总线141和PCI主机桥140与I/O总线112相连。硬盘适配器149可以被放置在I/O槽175中,该I/O槽175与PCI总线145相连。依次地,该总线与PCI至PCI桥142相连,桥142又通过PCI总线141与PCI主机桥140相连。
PCI主机桥130为PCI总线131提供了接口以便连接到I/O总线112。PCI I/O适配器136与I/O槽176相连,槽176通过PCI总线133与PCI至PCI桥132相连。PCI至PCI桥132与PCI总线131相连。该PCI总线还将PCI主机桥130连接到服务处理器邮箱接口和ISA总线访问中转逻辑194以及PCI至PCI桥132。服务处理器邮箱接口和ISA总线访问中转逻辑194转发去往PCI/ISA桥193的PCI访问。NVRAM存储192与ISA总线196相连。服务处理器135通过其局部PCI总线195与服务处理器邮箱接口和ISA总线访问中转逻辑194相连。服务处理器135还通过多个JTAG/I2C总线134与处理器101-104相连。JTAG/I2C总线134是JTAG/扫描总线(参见IEEE 1149.1)和Phillips I2C总线的组合。但是,可替代地,JTAG/I2C总线134可以由单独的Phillips I2C总线或单独的JTAG/扫描总线来代替。主机处理器101、102、103和104的所有SP-ATTN信号都被一起连接到服务处理器的中断输入信号。服务处理器135具有其自己的本地存储器191,并可访问硬件操作面板190。
当数据处理系统100最初接通电源时,服务处理器135使用JTAG/I2C总线134来询问系统(主机)处理器101-104、存储器控制器/高速缓冲存储器108以及I/O桥110。完成该步骤之后,服务处理器135已了解数据处理系统100的资源(inventory)和拓扑。服务处理器135还在通过询问主机处理器101-104、存储器控制器/高速缓冲存储器108以及I/O桥110而发现的所有部件上执行内置自测试(BIST)、基本正确性测试(BAT)和存储器测试。BIST、BAT和存储器测试期间检测到的故障的所有错误信息都由服务处理器135来收集和报告。
如果在取出BIST、BAT和存储器测试期间被发现具有故障的部件之后,有意义/有效的系统资源配置仍然是可能的,则数据处理系统100被允许继续将可执行代码载入本地(主机)存储器160-163。然后,服务处理器135释放主机处理器101-104以便执行被载入本地存储器160-163的代码。当主机处理器101-104从数据处理系统100内的各自的操作系统来执行代码时,服务处理器135进入监视和报告错误的模式。由服务处理器135监视的项目类型包括例如冷却风扇转速和运行、热传感器、电源调节器以及由处理器101-104、本地存储器160-163和I/O桥110所报告的可恢复或不可恢复的错误。
服务处理器135负责保存和报告与数据处理系统100中所有被监视项目相关的错误信息。服务处理器135还可根据错误类型和已定义的阈值来采取行动。例如,服务处理器135可能注意到某一处理器的高速缓冲存储器中出现过多的可恢复错误并判定这是硬故障的预兆。基于此判定,服务处理器135可以标记该资源,以便在当前运行会话期和将来初始程序装入(IPL)期间取消配置。IPL有时也被称为“引导”或“引导程序”。
可以使用各种商用计算机系统来实现数据处理系统100。例如,可以使用国际商业机器公司的IBM eServer iSeries Model 840系统来实现数据处理系统100。此类系统可以支持使用OS/400操作系统(其也可从国际商业机器公司获得)进行逻辑分区。
本领域的技术人员将理解,图1中所示的硬件可以有所变化。例如,除所示硬件之外或替代所示硬件,还可以使用诸如光盘驱动器之类的其他外围设备。所示实例并非旨在暗示本发明的体系结构限制。
现在参考图2,图2示出了其中可以实现本发明的示例性逻辑分区平台的方块图。逻辑分区平台200中的硬件可以被实现为例如图1中的数据处理系统100。逻辑分区平台200包括分区硬件230、操作系统202、204、206、208以及分区管理固件210。操作系统202、204、206和208可以是在逻辑分区平台200上同时运行的单个操作系统的多个副本或多个异构的操作系统。可以使用OS/400来实现这些操作系统,它们被设计成与诸如管理程序之类的分区管理固件相互作用。OS/400在这些示例性实施例中仅用作一个实例。当然,取决于特定的实施方式,可以使用诸如AIX和Linux之类的其他类型的操作系统。操作系统202、204、206和208位于分区203、205、207和209中。管理程序软件是可以用来实现分区管理固件210的软件的一个实例,并可从国际商业机器公司获得。固件是存储在没有电力的情况下也可保持其内容的存储器芯片中的“软件”,所述存储器芯片诸如,例如,只读存储器(ROM)、可编程ROM(PROM)、可擦写可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)以及非易失性随机存取存储器(非易失性RAM)。
此外,这些分区还包括分区固件211、213、215和217。分区固件211、213、215和217可以使用初始引导程序代码、IEEE-1275标准开放固件以及运行时抽象软件(RTAS,其可从国际商业机器公司获得)来实现。当分区203、205、207和209被实例化时,由平台固件210将引导程序代码的副本加载到分区203、205、207和209。此后,控制被传递给引导程序代码,然后引导程序代码加载开放固件和RTAS。与分区关联或分配给分区的处理器然后被指派给分区的存储器以执行分区固件。
分区硬件230包括多个处理器232-238、多个系统存储器单元240-246、多个输入/输出(I/O)适配器248-262以及存储单元270。各个处理器232-238、存储器单元240-246、NVRAM存储装置298以及I/O适配器248-262可以被分配给逻辑分区平台200内的多个分区中的一个分区,每个分区与操作系统202、204、206和208中的一个操作系统相对应。
分区管理固件210为分区203、205、207和209执行多种功能和服务,以创建和实施对逻辑分区平台200的分区。分区管理固件210是一种与底层硬件相同的固件实现的虚拟机。因此,分区管理固件210允许通过虚拟化逻辑分区平台200的所有硬件资源来同时执行独立的操作系统映像202、204、206和208。
服务处理器290可以用于提供诸如处理分区中的平台错误之类的各种服务。这些服务还可用作服务代理以将错误报告给供应商(例如国际商业机器公司)。不同分区的运行可以通过诸如硬件管理控制台280之类的硬件管理控制台来进行控制。硬件管理控制台280是一个单独的数据处理系统,系统管理员通过它可以执行各种功能,包括将资源重新分配给不同的分区。
现在参考图3,图3示出了用于处理跟踪数据的现有逻辑分区数据处理系统中的组件的示意图。在此示例性的实例中,分区300包含操作系统302和RTAS 304。分区306包含操作系统308和RTAS 310。在这些示出的实例中,最多可以存在255个分区。所有这些分区都通过诸如管理程序312之类的平台固件来进行管理。
在分区300调用管理程序312时,将生成管理程序代码路径318。从这些调用生成的跟踪数据被存储在管理程序跟踪缓冲区316中。此跟踪数据被存储在图4的管理程序跟踪缓冲区418的表项中。跟踪数据包含这些实例中显示所采取的代码路径的跟踪信息和关键数据值。除了跟踪数据之外,每个表项还包括分区标识符以标识作出调用(其产生该跟踪数据)的分区。当出现代码路径时,分区管理器314还将跟踪信息写入管理程序跟踪缓冲区316。当该分区管理器314调用管理程序312时,此跟踪信息被写入。分区管理器314是管理程序312中的一个组件。该组件用于管理分区并包括诸如开始和终止分区之类的功能。由分区管理器314作出的调用被存储在管理程序跟踪缓冲区316中。
以类似的方式,当由分区306作出对管理程序312的调用时,将形成管理程序代码路径320,同时用于这些调用的跟踪数据被存储在管理程序跟踪缓冲区316中。以类似的方式,当管理程序312收到分区306的调用时,将形成管理程序代码路径320。用于此路径的跟踪数据也被存储在管理程序跟踪缓冲区316中。
当每个分区被激活时,操作系统被加载并开始执行。当诸如操作系统302之类的操作系统需要平台资源时,操作系统作出对RTAS 304的RTAS调用,这依次作出对管理程序312的管理程序调用。当管理程序调用执行时,将执行特殊的“跟踪点”,其中跟踪数据被写入管理程序跟踪缓冲区316而不隔离分区数据。换言之,用于由所有分区作出的所有调用的所有跟踪数据都被置于此缓冲区中。
不仅是代表分区执行管理程序调用的管理程序数据被写入单个缓冲区,而且分区管理器314(其是管理程序工具)也将其跟踪数据写到同一跟踪缓冲区。此外,机器检查中断处理器322使用相同的跟踪工具并将信息存储在管理程序跟踪缓冲区316中。
然而,此现有系统将所有信息都存储在管理程序跟踪缓冲区316中。结果,由于这些类型的缓冲区中的有限空间,在现有系统中数据可能会被覆盖。在大型配置中,当所有处理器都专用于多个分区且写入以类似方式组织的同一缓冲区时,上述问题会增加。如果发生分区崩溃,管理程序代码路径318中的跟踪数据将很快由其他分区覆盖,造成可以帮助诊断问题的关键数据丢失。
现在参考图4,图4示出了根据本发明的一个优选实施例的用于管理跟踪数据以消除安全弱点的配置的示意图。在此示例性的实例中,存在分区400和分区402并通过管理程序404来进行管理。分区400包含操作系统406和RTAS 408,而分区402包含操作系统410和RTAS 412。当分区400或分区402产生对管理程序404的调用时,将生成管理程序代码路径414和管理程序代码路径416,同时跟踪数据被存储在管理程序跟踪缓冲区418中。
进而,分区管理器420可以产生调用,其中跟踪数据被存储在管理程序跟踪缓冲区418中。机器检查中断处理器422也将数据存储在管理程序跟踪缓冲区418中。
机器检查中断处理器422包括错误缓冲区426。该缓冲区包括错误日志428。该错误日志包括一个错误专用部分,该部分具有可以由选定或特定分析程序使用的格式。该日志还包括一个可以用于存储示例性实例中的跟踪数据的用户区。
在示例性实例中,每次出现机器检查异常时,管理程序跟踪缓冲区418中的跟踪数据便被复制到错误缓冲区426内的错误日志428中。在这些示例性实例中,复制由机器检查中断处理器422来执行。异常是更改程序中正常控制流的错误情况。异常可以由硬件或软件产生或引起。硬件异常包括例如重置、中断或来自存储器管理单元的信号。异常可以由算术逻辑单元或浮点单元的诸如除零、溢出、下溢之类的数字错误或诸如特权指令、保留指令、陷阱指令或未定义指令之类的指令解码错误来产生。
很大比例的分区崩溃也会产生机器检查异常。本发明的机制使用这类事件来获得跟踪数据并以避免跟踪数据丢失的方式来存储跟踪数据。具体地说,在这些示例性实例中,并没有使用错误日志428的用户部分。该部分被用于存储跟踪数据。错误日志的任何未使用的部分或错误缓冲区426中的其他未使用的空间都可以被用于存储来自管理程序跟踪缓冲区418的跟踪数据。每次出现机器检查异常时,机器检查中断处理器422将跟踪缓冲区数据写到错误日志428的未使用部分。此特性允许在错误日志被传递给所有运行分区时可以容易地使用这些数据进行调试。
只需对机器检查中断处理器422进行少量简单编码更改即可包括此附加功能。在由异常启动的机器检查过程中,指向跟踪数据的当前指针被用于将引起机器检查的最后分区数据从管理程序跟踪缓冲区418复制到错误日志428中。可以对跟踪数据进行过滤以便只将其中发生异常的分区中的跟踪数据复制到错误日志428中。在这些示例性实例中,此过滤可以在管理程序404内的分区数据过滤器424中实现。分区数据过滤器424通过检查在管理程序跟踪缓冲区418的最后跟踪表项中发现的分区标识符来标识其中发生异常的分区。此ID被用于过滤由机器检查中断处理器422请求的跟踪数据。当然,可以在其他位置实现此过滤器,例如在机器检查中断处理器422内。
如果分区已终止,则当机器检查中断处理器422被调用时,分区数据仍将存在于管理程序跟踪缓冲区418中。机器检查中断处理器422将跟踪数据复制到错误日志428来保存跟踪数据以用于调试目的。根据错误日志428中可用空间的数量,并非所有跟踪数据都可以被从管理程序跟踪缓冲区418复制到错误日志428中。机器检查中断处理器422将数据复制到错误日志428中,直到所有跟踪数据都已被复制或者直到错误日志428中不再有可用空间。
在机器检查中断处理器422将分区跟踪数据复制到错误日志428之后,该日志被写入诸如NVRAM 430之类的非易失性存储装置中。该日志由特殊的错误收集例程来复制。然后该例程将该日志复制到所有活动分区以进行分析。在这些实例中,所述例程是机器检查中断处理器的一部分。
现在参考图5,图5示出了根据本发明的一个优选实施例的用于过滤跟踪数据的过程的流程图。图5中所示的过程可以在诸如图4的分区数据过滤器424之类的过滤过程中实现。当收到来自诸如图4的管理程序跟踪缓冲区418之类的跟踪缓冲区的数据请求时,该过程被启动。在这些示例性实例中,通过机器检查中断处理器来接收所述请求。
所述过程开始于接收对跟踪数据的请求(步骤500)。接着,标识最后跟踪数据表项中的分区标识符(PID)(步骤502)。然后,选择跟踪数据表项(步骤504)。所选的表项是尚未被发送给请求程序的表项。在这些示例性实例中,从最新到最旧来选择各表项。换言之,首先选择最新的表项用于传输。
接着,从所选的跟踪数据表项获取数据(步骤506)。然后,判定数据是否用于标识的PID(步骤508)。如果数据用于标识的PID,则数据被返回机器检查中断处理器(步骤510)。接着,判定是否存在对跟踪数据的更多请求(步骤512)。如果不存在对跟踪数据的更多请求,则此后过程终止。
返回参考步骤508,如果数据不可用于标识的PID,则选择下一个跟踪数据表项以进行处理(步骤514),然后过程返回如上所述的步骤506。在步骤512,如果对跟踪数据作出了更多请求,则过程返回如上所述的步骤514。
现在参考图6,图6示出了根据本发明的一个优选实施例的用于在错误日志中保存跟踪数据的过程的流程图。图6所示的过程可以在诸如图4的机器检查中断处理器422之类的机器检查中断处理器中实现。当出现异常需要机器检查中断处理器进行处理时,该过程被启动。
所述过程开始于标识指向平台固件跟踪数据的指针(步骤600)。该指针指向跟踪数据缓冲区中的当前记录。接着,从跟踪缓冲区请求跟踪数据缓冲区中用于记录的跟踪数据(步骤602)。该指针可以被递减以请求跟踪缓冲区中的不同记录以便进行检查。响应于该请求,判定是否接收到跟踪数据(步骤604)。在这些实例中,将返回跟踪数据或说明没有更多数据存在的指示以响应该请求。然后,如果接收到跟踪数据,该数据被复制到错误日志(步骤606)。接着,判定错误日志中是否有更多的可用空间(步骤608)。如果错误日志中没有更多的可用空间,则过程终止。
返回参考步骤608,如果错误日志中存在更多的空间,则过程返回如上所述的步骤602。再次参考步骤604,如果没有接收到跟踪数据,则过程终止。
因此,本发明提供了用于处理跟踪数据的改进的方法、装置和计算机指令。本发明的机制通过使用现有的错误日志空间存储跟踪数据来保存跟踪数据。在这些实例中,错误日志是与机器检查中断处理器关联的日志,或者是创建的以便由机器检查中断处理器使用的日志。每当发生将由机器检查中断处理器处理的异常时,数据被获取。此机制还过滤已获取的数据,以便只有来自引起异常的分区的数据被返回。
重要的是注意到,虽然在完整功能的数据处理系统的情况下说明了本发明,本领域的技术人员将理解,可以以指令的计算机可读介质的形式和各种形式来发布本发明的诸过程,并且本发明均可等同地适用而与实际用于执行发布的信号承载介质的特定类型无关。计算机可读介质的实例包括可记录型介质,诸如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM和传输型介质,诸如数字和模拟通信链路、使用诸如例如射频和光波传输之类的传输形式的有线或无线通信链路。计算机可读介质可以采取编码格式的形式,可以对其解码以便在特定数据处理系统内实际地使用。
出于示例和说明目的给出了对本发明的描述,并且所述描述并非旨在是穷举的或是将本发明限于所公开的形式。对于本领域的技术人员来说,许多修改和变化是显而易见的。例如,示例性实施例将跟踪数据存储在错误日志中。此数据可以存储在可由处理所述异常的过程访问的任何数据结构中。实施例的选择和描述是为了最佳地解释本发明的原理、实际应用,并且当适合于所构想的特定使用时,使得本领域的其他技术人员能够理解本发明的具有各种修改的各种实施例。

Claims (28)

1.一种在逻辑分区数据处理系统中处理跟踪数据的方法,所述方法包括:
响应于检测到异常,标识所述逻辑分区数据处理系统内的一组分区中与所述异常关联的分区以形成被标识的分区;以及
将所述被标识的分区的所述跟踪数据存储在错误日志中以供机器检查中断处理器使用。
2.根据权利要求1的方法,进一步包括:
将所述错误日志存储在非易失性存储装置中。
3.根据权利要求2的方法,其中所述非易失性存储装置是非易失性随机存取存储器。
4.根据权利要求1的方法,其中所述标识所述分区的步骤包括:
标识最新跟踪数据表项中的分区标识符。
5.根据权利要求1的方法,其中所述标识步骤和所述存储步骤由平台固件来执行。
6.根据权利要求1的方法,其中所述存储步骤由所述机器检查中断处理器来执行。
7.根据权利要求1的方法,其中所述标识步骤由分区数据过滤器来执行。
8.根据权利要求1的方法,其中只有所述被标识的分区的所述跟踪数据被存储在所述错误日志中。
9.根据权利要求1的方法,其中所述跟踪数据初始位于平台固件跟踪缓冲区中。
10.一种用于处理跟踪数据的逻辑分区数据处理系统,所述逻辑分区数据处理系统包括:
标识装置,所述标识装置用于响应于检测到异常,标识所述逻辑分区数据处理系统内的一组分区中与所述异常关联的分区以形成被标识的分区;以及
存储装置,所述存储装置用于将所述被标识的分区的所述跟踪数据存储在错误日志中以供机器检查中断处理器使用。
11.根据权利要求10的数据处理系统,其中所述存储装置是第一存储装置并且进一步包括:
用于将所述错误日志存储在非易失性存储装置中的第二存储装置。
12.根据权利要求11的数据处理系统,其中所述非易失性存储装置是非易失性随机存取存储器。
13.根据权利要求10的数据处理系统,其中所述标识装置包括:
用于标识最新跟踪数据表项中的分区标识符的标识装置。
14.根据权利要求10的数据处理系统,其中所述标识装置和所述存储装置位于平台固件中。
15.根据权利要求10的数据处理系统,其中所述存储装置位于所述机器检查中断处理器中。
16.根据权利要求10的数据处理系统,其中所述标识装置位于分区数据过滤器中。
17.根据权利要求10的数据处理系统,其中只有所述被标识的分区的所述跟踪数据被存储在所述错误日志中。
18.根据权利要求10的数据处理系统,其中所述跟踪数据初始位于平台固件跟踪缓冲区中。
19.一种计算机可读介质中用于处理跟踪数据的计算机程序产品,所述计算机程序产品包括:
第一指令,所述第一指令用于响应于检测到异常,标识逻辑分区数据处理系统内的一组分区中与所述异常关联的分区以形成被标识的分区;以及
第二指令,所述第二指令用于将所述被标识的分区的所述跟踪数据存储在错误日志中以供机器检查中断处理器使用。
20.根据权利要求19的计算机程序产品,进一步包括:
用于将所述错误日志存储在非易失性存储装置中的第三指令。
21.根据权利要求20的计算机程序产品,其中所述非易失性存储装置是非易失性随机存取存储器。
22.根据权利要求19的计算机程序产品,其中所述第一指令包括:
用于标识最新跟踪数据表项中的分区标识符的子指令。
23.根据权利要求19的计算机程序产品,其中所述第一指令和所述第二指令位于平台固件中。
24.根据权利要求19的计算机程序产品,其中所述第二指令位于所述机器检查中断处理器中。
25.根据权利要求19的计算机程序产品,其中所述第一指令由分区数据过滤器来执行。
26.根据权利要求19的计算机程序产品,其中只有所述被标识的分区的所述跟踪数据被存储在所述错误日志中。
27.根据权利要求19的计算机程序产品,其中所述跟踪数据初始位于平台固件跟踪缓冲区中。
28.一种逻辑分区数据处理系统,所述系统包括:
总线系统;
存储器,所述存储器与所述总线系统相连,其中所述存储器包括一组指令;以及
处理单元,所述处理单元与所述总线系统相连,其中所述处理单元执行所述指令组,以便标识所述逻辑分区数据处理系统内的一组分区中与异常关联的分区以形成被标识的分区,以响应检测到所述异常;以及将所述被标识的分区的跟踪数据存储在错误日志中以供机器检查中断处理器使用。
CNB2005100730734A 2004-05-28 2005-05-27 保存跟踪数据的方法和装置 Expired - Fee Related CN100356335C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/857,459 US7343521B2 (en) 2004-05-28 2004-05-28 Method and apparatus to preserve trace data
US10/857,459 2004-05-28

Publications (2)

Publication Number Publication Date
CN1702625A true CN1702625A (zh) 2005-11-30
CN100356335C CN100356335C (zh) 2007-12-19

Family

ID=35461909

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100730734A Expired - Fee Related CN100356335C (zh) 2004-05-28 2005-05-27 保存跟踪数据的方法和装置

Country Status (4)

Country Link
US (2) US7343521B2 (zh)
JP (1) JP5579354B2 (zh)
CN (1) CN100356335C (zh)
TW (1) TW200611115A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110268411A (zh) * 2017-02-06 2019-09-20 华为技术有限公司 计算机系统中基于处理器跟踪实施的控制流完整性
CN112306908A (zh) * 2020-11-19 2021-02-02 广州安凯微电子股份有限公司 Cpu的icache指令缓存区异常定位方法、系统、终端设备及介质

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2395578A (en) * 2002-11-22 2004-05-26 Ibm Fault tracing in systems with virtualization layers
US7370240B2 (en) * 2004-04-29 2008-05-06 International Business Machines Corporation Method and apparatus for preserving trace data in a logical partitioned data processing system
US7734741B2 (en) * 2004-12-13 2010-06-08 Intel Corporation Method, system, and apparatus for dynamic reconfiguration of resources
US7738484B2 (en) 2004-12-13 2010-06-15 Intel Corporation Method, system, and apparatus for system level initialization
US7555682B2 (en) * 2005-05-13 2009-06-30 Texas Instruments Incorporated Distributed width trace receiver
US20080155246A1 (en) * 2006-12-21 2008-06-26 Unisys Corporation System and method for synchronizing memory management functions of two disparate operating systems
JP4485591B2 (ja) * 2007-02-09 2010-06-23 富士通株式会社 縮退方法および情報処理装置
US7853928B2 (en) * 2007-04-19 2010-12-14 International Business Machines Corporation Creating a physical trace from a virtual trace
US20100029193A1 (en) * 2008-07-31 2010-02-04 International Business Machines Corporation Method for preventing air recirculation and oversupply in data centers
JP5176837B2 (ja) * 2008-09-30 2013-04-03 富士通株式会社 情報処理システム及びその管理方法、制御プログラム並びに記録媒体
US8566798B2 (en) * 2008-10-15 2013-10-22 International Business Machines Corporation Capturing context information in a currently occurring event
US8171257B2 (en) 2009-09-25 2012-05-01 International Business Machines Corporation Determining an end of valid log in a log of write records using a next pointer and a far ahead pointer
JP5445051B2 (ja) * 2009-11-13 2014-03-19 株式会社リコー 情報処理装置、apiプログラム、及びログ環境提供方法
US8504875B2 (en) * 2009-12-28 2013-08-06 International Business Machines Corporation Debugging module to load error decoding logic from firmware and to execute logic in response to an error
EP2610751A1 (en) * 2010-08-24 2013-07-03 Fujitsu Limited System control device, method of controlling log and information processing device
WO2012026035A1 (ja) * 2010-08-27 2012-03-01 富士通株式会社 障害処理方法,障害処理システム,障害処理装置及び障害処理プログラム
WO2012098434A1 (en) * 2011-01-21 2012-07-26 Freescale Semiconductor, Inc. Method, system, and computer program product
US9916192B2 (en) 2012-01-12 2018-03-13 International Business Machines Corporation Thread based dynamic data collection
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US9323863B2 (en) 2013-02-01 2016-04-26 Microsoft Technology Licensing, Llc Highlighting of time series data on force directed graph
US9256969B2 (en) 2013-02-01 2016-02-09 Microsoft Technology Licensing, Llc Transformation function insertion for dynamically displayed tracer data
US8843901B2 (en) 2013-02-12 2014-09-23 Concurix Corporation Cost analysis for selecting trace objectives
US20130283102A1 (en) * 2013-02-12 2013-10-24 Concurix Corporation Deployment of Profile Models with a Monitoring Agent
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US9021447B2 (en) 2013-02-12 2015-04-28 Concurix Corporation Application tracing by distributed objectives
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US20130227529A1 (en) 2013-03-15 2013-08-29 Concurix Corporation Runtime Memory Settings Derived from Trace Data
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
US9734040B2 (en) 2013-05-21 2017-08-15 Microsoft Technology Licensing, Llc Animated highlights in a graph representing an application
US8990777B2 (en) 2013-05-21 2015-03-24 Concurix Corporation Interactive graph for navigating and monitoring execution of application code
US9280841B2 (en) 2013-07-24 2016-03-08 Microsoft Technology Licensing, Llc Event chain visualization of performance data
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
EP3069241B1 (en) 2013-11-13 2018-08-15 Microsoft Technology Licensing, LLC Application execution path tracing with configurable origin definition
CN105765560B (zh) 2013-11-13 2019-11-05 微软技术许可有限责任公司 基于多次跟踪执行的软件组件推荐
US9329884B2 (en) * 2014-07-11 2016-05-03 Intel Corporation Managing generated trace data for a virtual machine
US9710321B2 (en) 2015-06-23 2017-07-18 Microsoft Technology Licensing, Llc Atypical reboot data collection and analysis
US9965375B2 (en) 2016-06-28 2018-05-08 Intel Corporation Virtualizing precise event based sampling
WO2023287517A1 (en) * 2021-07-13 2023-01-19 SiFive, Inc. Error management in system on a chip with securely partitioned memory space

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837767A (en) 1987-09-04 1989-06-06 Digital Equipment Corporation Bus adapter module with improved error recovery in a multibus computer system
US5168554A (en) 1989-10-13 1992-12-01 International Business Machines Corporation Converting trace data from processors executing in parallel into graphical form
JPH03217949A (ja) * 1990-01-23 1991-09-25 Hitachi Ltd 計算機システム
EP0472861B1 (en) * 1990-08-31 1995-09-20 International Business Machines Corporation Method and apparatus for cross-partition control in a partitioned process environment
JP3318121B2 (ja) * 1994-08-04 2002-08-26 富士通株式会社 仮想計算機システム
US5642478A (en) 1994-12-29 1997-06-24 International Business Machines Corporation Distributed trace data acquisition system
JP3196004B2 (ja) * 1995-03-23 2001-08-06 株式会社日立製作所 障害回復処理方法
US5918047A (en) 1996-01-26 1999-06-29 Texas Instruments Incorporated Initializing a processing system
US6256705B1 (en) 1998-06-05 2001-07-03 International Business Machines Corporation System and method for organizing data stored in a log structured array
US6493837B1 (en) 1999-07-16 2002-12-10 Microsoft Corporation Using log buffers to trace an event in a computer system
US6636991B1 (en) * 1999-12-23 2003-10-21 Intel Corporation Flexible method for satisfying complex system error handling requirements via error promotion/demotion
US6658591B1 (en) * 2000-06-08 2003-12-02 International Business Machines Corporation Recovery from data fetch errors in hypervisor code
US6915416B2 (en) 2000-12-28 2005-07-05 Texas Instruments Incorporated Apparatus and method for microcontroller debugging
US6813731B2 (en) 2001-02-26 2004-11-02 Emc Corporation Methods and apparatus for accessing trace data
US6834363B2 (en) * 2001-03-22 2004-12-21 International Business Machines Corporation Method for prioritizing bus errors
US6711700B2 (en) * 2001-04-23 2004-03-23 International Business Machines Corporation Method and apparatus to monitor the run state of a multi-partitioned computer system
US6851074B2 (en) * 2001-04-30 2005-02-01 Hewlett-Packard Development Company System and method for recovering from memory failures in computer systems
US6842870B2 (en) * 2001-09-20 2005-01-11 International Business Machines Corporation Method and apparatus for filtering error logs in a logically partitioned data processing system
US6883116B2 (en) * 2001-09-27 2005-04-19 International Business Machines Corporation Method and apparatus for verifying hardware implementation of a processor architecture in a logically partitioned data processing system
US6910160B2 (en) * 2002-01-10 2005-06-21 International Business Machines Corporation System, method, and computer program product for preserving trace data after partition crash in logically partitioned systems
US6681309B2 (en) * 2002-01-25 2004-01-20 Hewlett-Packard Development Company, L.P. Method and apparatus for measuring and optimizing spatial segmentation of electronic storage workloads
US6886064B2 (en) * 2002-03-28 2005-04-26 International Business Machines Corporation Computer system serialization control method involving unlocking global lock of one partition, after completion of machine check analysis regardless of state of other partition locks
US7383428B2 (en) 2003-09-11 2008-06-03 International Business Machines Corporation Method, apparatus and computer program product for implementing atomic data tracing
US7370240B2 (en) 2004-04-29 2008-05-06 International Business Machines Corporation Method and apparatus for preserving trace data in a logical partitioned data processing system
US7496729B2 (en) 2004-05-13 2009-02-24 International Business Machines Corporation Method and apparatus to eliminate interpartition covert storage channel and partition analysis

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110268411A (zh) * 2017-02-06 2019-09-20 华为技术有限公司 计算机系统中基于处理器跟踪实施的控制流完整性
CN110268411B (zh) * 2017-02-06 2021-04-20 华为技术有限公司 计算机系统中基于处理器跟踪实施的控制流完整性
CN112306908A (zh) * 2020-11-19 2021-02-02 广州安凯微电子股份有限公司 Cpu的icache指令缓存区异常定位方法、系统、终端设备及介质
CN112306908B (zh) * 2020-11-19 2024-03-15 广州安凯微电子股份有限公司 Cpu的icache指令缓存区异常定位方法、系统、终端设备及介质

Also Published As

Publication number Publication date
TW200611115A (en) 2006-04-01
CN100356335C (zh) 2007-12-19
US20050278574A1 (en) 2005-12-15
US20080140985A1 (en) 2008-06-12
US7930594B2 (en) 2011-04-19
JP5579354B2 (ja) 2014-08-27
US7343521B2 (en) 2008-03-11
JP2005339561A (ja) 2005-12-08

Similar Documents

Publication Publication Date Title
CN100356335C (zh) 保存跟踪数据的方法和装置
US8352940B2 (en) Virtual cluster proxy to virtual I/O server manager interface
JP3962393B2 (ja) グローバル・エラーを報告するための論理分割データ処理システム
US7275180B2 (en) Transparent replacement of a failing processor
JP3910554B2 (ja) 論理パーティション・データ処理システムでのエラーまたはイベントを処理する方法、コンピュータ・プログラム、データ処理システム
CN100338555C (zh) 在逻辑分区的数据处理系统中降低功耗的方法和装置
US7055071B2 (en) Method and apparatus for reporting error logs in a logical environment
CN1181435C (zh) 通过资源恢复得到系统最优可用性的方法和系统
US20090282300A1 (en) Partition Transparent Memory Error Handling in a Logically Partitioned Computer System With Mirrored Memory
US7895477B2 (en) Resilience to memory errors with firmware assistance
CN1737780A (zh) 从一个设备驱动程序向另一个传送信息的系统和方法
CN1920797A (zh) 存储器访问控制装置
US8255639B2 (en) Partition transparent correctable error handling in a logically partitioned computer system
CN1707462A (zh) 用于动态托管分区页面分配的方法和设备
JP4366336B2 (ja) 論理パーティション・データ処理システムにおいてトレース・データを管理するための方法、トレース・データを管理するための論理パーティション・データ処理システム、コンピュータにトレース・データを管理させるためのコンピュータ・プログラム、論理パーティション・データ処理システム
US7953914B2 (en) Clearing interrupts raised while performing operating system critical tasks
US8024544B2 (en) Free resource error/event log for autonomic data processing system
US6934888B2 (en) Method and apparatus for enhancing input/output error analysis in hardware sub-systems
US8195981B2 (en) Memory metadata used to handle memory errors without process termination
US7275185B2 (en) Method and apparatus for device error log persistence in a logical partitioned data processing system
Neuhalfen et al. Proactive memory error detection for the Linux kernel

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071219

Termination date: 20200527

CF01 Termination of patent right due to non-payment of annual fee