US8346509B2 - Context switch sampling - Google Patents
Context switch sampling Download PDFInfo
- Publication number
- US8346509B2 US8346509B2 US12/420,815 US42081509A US8346509B2 US 8346509 B2 US8346509 B2 US 8346509B2 US 42081509 A US42081509 A US 42081509A US 8346509 B2 US8346509 B2 US 8346509B2
- Authority
- US
- United States
- Prior art keywords
- hardware event
- hardware
- event
- counter
- event counter
- 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.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3017—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Definitions
- This disclosure relates generally to the field of microprocessors.
- the disclosure relates to context switch sampling of process or thread events based on hardware event triggers in a processor.
- monitoring performance metrics may be complicated.
- Techniques that have been used in the past such as time-based sampling or event-based sampling employ a consistent regular grid of measurement to outline and characterize the behavior of applications whose activity may at times be anything but regular.
- Previous attempts to monitor activity within the context of a particular process may have required specially instrumented versions of the operating system. These techniques may also have the side effect of monitoring the special instrumentation as well as the desired performance metrics in the context of the particular process of interest. Thus results of previous techniques may have been contaminated by activity from other processes, threads or operating system instrumentation.
- FIG. 1 illustrates one embodiment of a multiprocessing system for performing context switch sampling.
- FIG. 2 illustrates a flow diagram for one embodiment of a process for performing context switch sampling.
- FIG. 3 illustrates a flow diagram for an alternative embodiment of a process for performing context switch sampling.
- an addressable memory stores data and instructions for performing context switch sampling.
- a processor includes hardware event counters for performance monitoring, and is coupled with the addressable memory to access said instructions and in response to said instructions, the processor counts occurrences of a first hardware event in a first hardware event counter and counts occurrences of a second hardware event in a second hardware event counter. After a specified number of occurrences of the first hardware event have been counted, it can be determined that a context switch has occurred. The second hardware event counter is then sampled and the hardware event counters are reset. In some embodiments the processor counts occurrences of segment register load events in the first hardware event counter and then records the sampled second hardware event counter value together with a process identifier value and/or a thread identifier value.
- such techniques may be used to more accurately capture and measure events for a particular process and/or thread without including contamination from events captured from other processes and/or threads.
- FIG. 1 illustrates one embodiment of a multiprocessing system 101 for performing context switch sampling.
- Embodiments of system 101 may include addressable memory 140 having storage areas 141 - 149 to store data and machine executable instructions for performing context switch sampling.
- Multiple processes 111 - 131 are coupled with addressable memory 140 via a bus or any other interconnect 110 and processes 111 - 131 concurrently execute their respective threads.
- embodiments of processes 111 - 131 may include software processes or hardware threads or multiple individual processor cores on different dies or on the same die.
- Some embodiments of system 101 may also include processors such as processor 102 , which has multiple hardware thread processes 111 and 121 .
- Processes 111 - 131 respectively include execution units 112 - 132 , registers 113 - 133 , and hardware event counters 114 - 134 and 115 - 135 . It will be appreciated that in some embodiments one or more of execution units 112 - 132 may be physically shared by some of processes 111 - 131 . It will also be appreciated that in some embodiments of processes 111 - 131 , registers 113 - 133 , and/or hardware event counters 114 - 134 and 115 - 135 may also be shared or used in common by some of processes 111 - 131 .
- One or more processes 111 - 131 may be coupled with the addressable memory 140 to access machine executable instructions 149 , and responsive to machine executable instructions 149 , one or more of processes 111 - 131 may count occurrences of a first hardware event in hardware event counters 114 - 134 respectively.
- the first hardware event may be a segment register load event, as is used in context switches on “x86” processors, such as those manufactured by Intel Corp. of Santa Clara, Calif. It will be appreciated that by counting occurrences of a hardware event such as a segment register load event in hardware event counters 114 - 134 respectively, the one or more processes 111 - 131 may be able to determine when a context switch has occurred.
- a given operating system running on a specific x86 processor may need to execute four segment register loads in order to perform a context switch between application processes at ring 3 .
- SAV sample-after value
- the value of the sampled hardware event counters more accurately capture and measure events for a particular process and/or thread without including contamination from events captured from other processes and/or threads.
- a SAV count is set to eight (twice four) a context switch between processes will have been detected.
- a SAV count is set to five (one more than four) a context switch between threads of the same process will have been detected.
- a SAV count is set at or below the critical value (in this example, four) then sampling will fail to capture the desired application data, since sampling will occur prior to collecting event statistics in the desired application.
- the number of segment register loads needed to detect a context switch may vary greatly (e.g. between 1 and over 100 segment register loads) from operating system to operating system depending on the particular operating system and on the particular processor.
- a context switch may also be associated with loading of descriptor tables, and so triggering the sampling of event count data following the loading of descriptor tables (either global or local) may provide an alternative technique to perform context switch sampling.
- a particular address in addressable memory 140 may be selected for the express purpose of triggering context switch sampling, whenever that address is accessed.
- a hardware event trigger whenever a process and/or thread identifier is changed may be used, or a special instruction may be added to the processor architecture specifically to trigger context switch sampling.
- the second hardware event counters, 115 - 135 respectively are sampled and the first and second hardware event counters 114 - 134 and 115 - 135 respectively, are reset.
- embodiments of processes 111 and 121 may share or use in common hardware event counters 114 - 124 and 115 - 125 , so processor 102 , for example, may have just a single set of hardware event counters.
- the sampled second hardware event counter 115 - 135 values may be recorded and/or accumulated in storage locations 143 - 147 with a process identifier 141 - 145 value in addressable memory 140 .
- the sampled second hardware event counter 115 - 135 values may also be recorded and/or accumulated in storage locations 143 - 147 with a thread identifier 144 - 148 value in addressable memory 140 .
- FIG. 2 illustrates a flow diagram for one embodiment of a process 201 to perform context switch sampling for performance monitoring in a multiprocessing system.
- Process 201 and other processes herein disclosed are performed by processing blocks that may comprise dedicated hardware or software or firmware operation codes executable by general purpose machines or by special purpose machines or by a combination of both.
- processing block 211 I occurrences of a first hardware event are counted in a first hardware event counter (e.g. one of ECs 114 - 134 ).
- processing block 212 J occurrences of a second hardware event are counted in a second hardware event counter (e.g. one of ECs 115 - 135 ).
- processing block 213 it is determined whether I is equal to a predetermined SAV value N. If not counting continues in processing block 211 . Otherwise processing proceeds to processing block 214 where the count J of second hardware event occurrences in the second hardware event counter is sampled.
- processing block 215 the first and second hardware event counters are reset, and in processing block 216 , the sampled count J is recorded (e.g at locations 143 - 147 ) in addressable memory 140 with a process identifier (e.g 141 - 145 ) value.
- FIG. 3 illustrates a flow diagram for an alternative embodiment of a process 301 for performing context switch sampling.
- processing block 311 I occurrences of a segment register load event are counted in a first hardware event counter (e.g. one of ECs 114 - 134 ).
- processing block 312 J occurrences of a second hardware event are counted in a second hardware event counter (e.g. one of ECs 115 - 135 ).
- processing block 313 it is determined whether I is equal to a predetermined SAV value N. If not counting continues in processing block 311 . Otherwise processing proceeds to processing block 314 where the count J of second hardware event occurrences in the second hardware event counter is sampled.
- processing block 315 the segment register load event count and the second hardware event count in the first and second hardware event counters are reset, and in processing block 316 , the sampled count J is recorded (e.g at locations 143 - 147 ) in addressable memory 140 with a process identifier (e.g 141 - 145 ) value.
- processes 201 and 301 may be able to determine when a context switch has occurred, and hence be used to accurately capture and measure hardware events for a particular process and/or thread without including contamination from hardware events captured during execution of other processes and/or threads.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/420,815 US8346509B2 (en) | 2009-04-08 | 2009-04-08 | Context switch sampling |
| JP2010088905A JP5257816B2 (ja) | 2009-04-08 | 2010-04-07 | コンテキストスイッチサンプリング |
| EP10250736.5A EP2239664B1 (de) | 2009-04-08 | 2010-04-08 | Kontextwechselabtastung |
| CN201010207270.1A CN101859268B (zh) | 2009-04-08 | 2010-04-08 | 上下文切换采样 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/420,815 US8346509B2 (en) | 2009-04-08 | 2009-04-08 | Context switch sampling |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20100262870A1 US20100262870A1 (en) | 2010-10-14 |
| US8346509B2 true US8346509B2 (en) | 2013-01-01 |
Family
ID=42352696
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/420,815 Expired - Fee Related US8346509B2 (en) | 2009-04-08 | 2009-04-08 | Context switch sampling |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US8346509B2 (de) |
| EP (1) | EP2239664B1 (de) |
| JP (1) | JP5257816B2 (de) |
| CN (1) | CN101859268B (de) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8935675B1 (en) | 2013-09-25 | 2015-01-13 | Google Inc. | Statistical sampling of event monitoring triggers under overhead constraints |
| US10680923B2 (en) | 2016-02-11 | 2020-06-09 | Samsung Electronics Co., Ltd. | Semiconductor device and operating method thereof |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2544121B1 (de) | 2010-03-03 | 2020-07-29 | Panasonic Intellectual Property Management Co., Ltd. | In einer aufzeichnungsmediumvorrichtung eingebettetes steuergerät, aufzeichnungsmediumvorrichtung, herstellungssystem für aufzeichnungsmediumvorrichtung und herstellungsverfahren für aufzeichnungsmediumvorrichtung |
| US9021172B2 (en) | 2012-07-06 | 2015-04-28 | Arm Limited | Data processing apparatus and method and method for generating performance monitoring interrupt signal based on first event counter and second event counter |
| JP2014182478A (ja) | 2013-03-18 | 2014-09-29 | Fujitsu Ltd | 性能プロファイリング装置及び性能プロファイリング方法 |
| US9354883B2 (en) | 2014-03-27 | 2016-05-31 | International Business Machines Corporation | Dynamic enablement of multithreading |
| US9218185B2 (en) | 2014-03-27 | 2015-12-22 | International Business Machines Corporation | Multithreading capability information retrieval |
| US9921848B2 (en) | 2014-03-27 | 2018-03-20 | International Business Machines Corporation | Address expansion and contraction in a multithreading computer system |
| US10102004B2 (en) | 2014-03-27 | 2018-10-16 | International Business Machines Corporation | Hardware counters to track utilization in a multithreading computer system |
| US9804846B2 (en) | 2014-03-27 | 2017-10-31 | International Business Machines Corporation | Thread context preservation in a multithreading computer system |
| US9417876B2 (en) | 2014-03-27 | 2016-08-16 | International Business Machines Corporation | Thread context restoration in a multithreading computer system |
| US9594660B2 (en) | 2014-03-27 | 2017-03-14 | International Business Machines Corporation | Multithreading computer system and program product for executing a query instruction for idle time accumulation among cores |
| US11200058B2 (en) * | 2014-05-07 | 2021-12-14 | Qualcomm Incorporated | Dynamic load balancing of hardware threads in clustered processor cores using shared hardware resources, and related circuits, methods, and computer-readable media |
| CN105487958B (zh) * | 2015-11-24 | 2018-04-10 | 无锡江南计算技术研究所 | 处理器内部行为监测方法 |
| GB2550903B (en) * | 2016-05-27 | 2019-06-12 | Arm Ip Ltd | Context data control |
| CN107451038B (zh) * | 2016-05-30 | 2020-05-19 | 龙芯中科技术有限公司 | 硬件事件采集方法、处理器和计算系统 |
Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05151004A (ja) | 1991-11-30 | 1993-06-18 | Nec Corp | タスクのcpu占有時間測定方法 |
| JPH07307727A (ja) | 1994-05-13 | 1995-11-21 | Nippon Motorola Ltd | データ信号のサンプリング方法及びその回路 |
| US5615135A (en) * | 1995-06-01 | 1997-03-25 | International Business Machines Corporation | Event driven interface having a dynamically reconfigurable counter for monitoring a high speed data network according to changing traffic events |
| US6356615B1 (en) * | 1999-10-13 | 2002-03-12 | Transmeta Corporation | Programmable event counter system |
| US6519310B2 (en) * | 2001-03-28 | 2003-02-11 | Intel Corporation | Hardware event based flow control of counters |
| US20060167658A1 (en) | 2005-01-27 | 2006-07-27 | International Business Machines Corporation | Method, apparatus, and computer program product in a performance monitor for sampling all performance events generated by a processor |
| US20080177756A1 (en) | 2007-01-18 | 2008-07-24 | Nicolai Kosche | Method and Apparatus for Synthesizing Hardware Counters from Performance Sampling |
| US20090235056A1 (en) | 2008-03-14 | 2009-09-17 | Fujitsu Limited | Recording medium storing performance monitoring program, performance monitoring method, and performance monitoring device |
| JP2010152458A (ja) | 2008-12-24 | 2010-07-08 | Fujitsu Ltd | 性能測定プログラム及び性能測定方法並びに性能測定機能を有する情報処理装置。 |
| US7779238B2 (en) * | 2004-06-30 | 2010-08-17 | Oracle America, Inc. | Method and apparatus for precisely identifying effective addresses associated with hardware events |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1856612B1 (de) * | 2005-01-28 | 2008-10-01 | International Business Machines Corporation | Zählverfahren für anweisungen zur protokollierung und wiedergabe einer deterministischen ereignisabfolge |
-
2009
- 2009-04-08 US US12/420,815 patent/US8346509B2/en not_active Expired - Fee Related
-
2010
- 2010-04-07 JP JP2010088905A patent/JP5257816B2/ja not_active Expired - Fee Related
- 2010-04-08 EP EP10250736.5A patent/EP2239664B1/de not_active Not-in-force
- 2010-04-08 CN CN201010207270.1A patent/CN101859268B/zh not_active Expired - Fee Related
Patent Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05151004A (ja) | 1991-11-30 | 1993-06-18 | Nec Corp | タスクのcpu占有時間測定方法 |
| JPH07307727A (ja) | 1994-05-13 | 1995-11-21 | Nippon Motorola Ltd | データ信号のサンプリング方法及びその回路 |
| US5615135A (en) * | 1995-06-01 | 1997-03-25 | International Business Machines Corporation | Event driven interface having a dynamically reconfigurable counter for monitoring a high speed data network according to changing traffic events |
| US6356615B1 (en) * | 1999-10-13 | 2002-03-12 | Transmeta Corporation | Programmable event counter system |
| US6519310B2 (en) * | 2001-03-28 | 2003-02-11 | Intel Corporation | Hardware event based flow control of counters |
| US7779238B2 (en) * | 2004-06-30 | 2010-08-17 | Oracle America, Inc. | Method and apparatus for precisely identifying effective addresses associated with hardware events |
| US20060167658A1 (en) | 2005-01-27 | 2006-07-27 | International Business Machines Corporation | Method, apparatus, and computer program product in a performance monitor for sampling all performance events generated by a processor |
| US20080177756A1 (en) | 2007-01-18 | 2008-07-24 | Nicolai Kosche | Method and Apparatus for Synthesizing Hardware Counters from Performance Sampling |
| US20090235056A1 (en) | 2008-03-14 | 2009-09-17 | Fujitsu Limited | Recording medium storing performance monitoring program, performance monitoring method, and performance monitoring device |
| JP2009223451A (ja) | 2008-03-14 | 2009-10-01 | Fujitsu Ltd | 性能モニタリングプログラム、性能モニタリング方法、性能モニタリング装置 |
| JP2010152458A (ja) | 2008-12-24 | 2010-07-08 | Fujitsu Ltd | 性能測定プログラム及び性能測定方法並びに性能測定機能を有する情報処理装置。 |
Non-Patent Citations (5)
| Title |
|---|
| European Search Report for European Patent Application No. 10250736.5, mailed on Nov. 15, 2010, 4 pages. |
| Office Action Received for Chinese Patent Application No. 201010207270.1, mailed on Jan. 12, 2012, 7 pages of Office Action and 7 pages of English Translation. |
| Office Action Received for European Patent Application No. 10250736.5, mailed on Feb. 17, 2011, 6 pages. |
| Office Action Received for Japanese Patent Application No. 2010-088905, mailed on Nov. 1, 2011, 2 pages of Office Action and 2 pages of English Translation. |
| Office Action Received for Japanese Patent Application No. 2010-088905, mailed on Sep. 4, 2014, 2 pages of Office Action and 2 pages of English Translation. |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8935675B1 (en) | 2013-09-25 | 2015-01-13 | Google Inc. | Statistical sampling of event monitoring triggers under overhead constraints |
| US10680923B2 (en) | 2016-02-11 | 2020-06-09 | Samsung Electronics Co., Ltd. | Semiconductor device and operating method thereof |
| US11349738B2 (en) | 2016-02-11 | 2022-05-31 | Samsung Electronics Co., Ltd. | Semiconductor device and operating method thereof |
| US11652718B2 (en) | 2016-02-11 | 2023-05-16 | Samsung Electronics Co., Ltd. | Semiconductor device and operating method thereof |
| US12316520B2 (en) | 2016-02-11 | 2025-05-27 | Samsung Electronics Co., Ltd. | Semiconductor device and operating method thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| EP2239664A2 (de) | 2010-10-13 |
| US20100262870A1 (en) | 2010-10-14 |
| CN101859268A (zh) | 2010-10-13 |
| EP2239664B1 (de) | 2017-11-15 |
| CN101859268B (zh) | 2017-03-01 |
| EP2239664A3 (de) | 2010-12-15 |
| JP5257816B2 (ja) | 2013-08-07 |
| JP2010244552A (ja) | 2010-10-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20100262870A1 (en) | Context switch sampling | |
| US10140216B2 (en) | Measuring address translation latency | |
| US8566795B2 (en) | Selectively obtaining call stack information based on criteria | |
| CN101625657B (zh) | 监控数据处理设备和概括监控数据 | |
| US9081629B2 (en) | Excluding counts on software threads in a state | |
| JP5299161B2 (ja) | 計算機装置および消費電力のサンプリング方法 | |
| US9298651B2 (en) | Continuous in-memory accumulation of hardware performance counter data | |
| US20060005083A1 (en) | Performance count tracing | |
| US7315795B2 (en) | Performance analyzing method using hardware | |
| JP2020512613A5 (de) | ||
| US20090178036A1 (en) | Method and Apparatus for Call Stack Sampling Using a Virtual Machine | |
| US9600348B2 (en) | Recording activity of software threads in a concurrent software environment | |
| US9009537B2 (en) | Diagnostic data capture in a computing environment | |
| CN107451038B (zh) | 硬件事件采集方法、处理器和计算系统 | |
| US6725363B1 (en) | Method for filtering instructions to get more precise event counts | |
| US9195524B1 (en) | Hardware support for performance analysis | |
| US20140075164A1 (en) | Temporal locality aware instruction sampling | |
| US8656411B2 (en) | Technique for monitoring activity within an integrated circuit | |
| US20090210196A1 (en) | Method, system and computer program product for event-based sampling to monitor computer system performance | |
| CN111858243A (zh) | 基于指数增长的多硬件事件监控计数值估计方法 | |
| CN115080577B (zh) | 数据统计周期切换方法、装置、设备及存储介质 | |
| US10657021B2 (en) | Tracing processing activity with position data to reorder items of trace data | |
| CN112817826A (zh) | 一种数据整合方法及装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DAVIES, ROBERT;REEL/FRAME:024051/0972 Effective date: 20090505 |
|
| FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
| FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
| FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20250101 |