Generic Trace Setup and Control (GTSC) kernel API. This patch and the patches to follow create a kernel API that simplifies the use of the relay subsystem. Any "relay" based tracing application has a common set of operations that they must performed to setup and control its relay channel(s). Block trace is an example of such an application. The goal of GTSC is to simply abstract out this generic code from block trace and make it available for other services to use. Doing so we can reduce the code in block trace as well as build a common trace control interface. I am submitting 3 patches for review. The first is included in this email, 2 and 3 will follow in separate emails. 1/3 GTSC documentation patch. (gtsc-documentation.patch) 2/3 The GTSC code itself. (gtsc.patch) 3/3 Patches to convert blktrace to the new GTSC API. (convert-blktrace-to-gtsc.patch, blktrace-gtsc-user.patch) The documentation patch describes the API and includes a simple kernel module that demonstrates the GTSC. I will be sending one additional patch not directly related to the GTSC. This patch fixes a bug in the relay read interface. I mention it here only because to make the GTSC example work properly you will need to apply this patch. This patch is named relay-file-read-start-pos-fix.patch. -- David Wilder IBM Linux Technology Center Beaverton, Oregon, USA dwilder@us.ibm.com (503)578-3789