Bundle lttng-modules-2.11.7

This commit is contained in:
Nobody 2022-08-11 22:26:39 +03:00 committed by Alibek Omarov
parent 60051396a5
commit c98ea5e20a
325 changed files with 85602 additions and 0 deletions

1123
ltt/lttng-2.11.0/ChangeLog Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
LTTng Modules Kernel Tracer Coding Style
The coding style used for this project follows the the Linux kernel
guide lines. Please refer to:
- Linux kernel Documentation/CodingStyle document for details,
- Linux kernel scripts/checkpatch.pl for a script which verify the patch
coding style.
Mathieu Desnoyers, May 30, 2012

View File

@ -0,0 +1,53 @@
# SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
# Work-around for distro-specific public modules ABI breakages.
# Some distributions break the public module instrumentation ABI
# compared to upstream stable kernels without providing other mean than
# the kernel EXTRAVERSION to figure it out. Translate this information
# into a define visible from the C preprocessor.
DEB_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/abi-debian-version.sh $(CURDIR))
ifneq ($(DEB_API_VERSION), 0)
ccflags-y += -DDEBIAN_API_VERSION=$(DEB_API_VERSION)
endif
RHEL_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/abi-rhel-version.sh $(CURDIR))
ifneq ($(RHEL_API_VERSION), 0)
ccflags-y += -DRHEL_API_VERSION=$(RHEL_API_VERSION)
endif
SLE_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/abi-sle-version.sh $(CURDIR))
ifneq ($(SLE_API_VERSION), 0)
ccflags-y += -DSLE_API_VERSION=$(SLE_API_VERSION)
endif
FEDORA_REVISION_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/abi-fedora-version.sh $(CURDIR))
ifneq ($(FEDORA_REVISION_VERSION), 0)
ccflags-y += -DFEDORA_REVISION_VERSION=$(FEDORA_REVISION_VERSION)
endif
RT_PATCH_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/rt-patch-version.sh $(CURDIR))
ifneq ($(RT_PATCH_VERSION), 0)
ccflags-y += -DRT_PATCH_VERSION=$(RT_PATCH_VERSION)
endif
EXTRA_VERSION_NAME:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/extra-version-name.sh $(TOP_LTTNG_MODULES_DIR))
ifneq ($(EXTRA_VERSION_NAME), 0)
ccflags-y += -DLTTNG_EXTRA_VERSION_NAME='"$(EXTRA_VERSION_NAME)"'
endif
EXTRA_VERSION_GIT:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/extra-version-git.sh $(TOP_LTTNG_MODULES_DIR))
ifneq ($(EXTRA_VERSION_GIT), 0)
ccflags-y += -DLTTNG_EXTRA_VERSION_GIT='"$(EXTRA_VERSION_GIT)"'
endif
EXTRA_VERSION_PATCHES:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/extra-version-patches.sh $(TOP_LTTNG_MODULES_DIR))
# vim:syntax=make

16
ltt/lttng-2.11.0/Kconfig Normal file
View File

@ -0,0 +1,16 @@
# SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
config LTTNG
tristate "LTTng support"
select TRACING
help
LTTng is an open source tracing framework for Linux.
See https://lttng.org/
To compile as a set of modules, choose M here. To compile into
the Linux kernel image, choose Y.
If unsure, say N.
source "lttng/tests/Kconfig"

34
ltt/lttng-2.11.0/LICENSE Normal file
View File

@ -0,0 +1,34 @@
LTTng modules licensing
Mathieu Desnoyers
June 2, 2011
* LGPL-2.1 / GPL-2.0 dual-license
The files contained within this package are licensed under
LGPL-2.1 / GPL-2.0 dual-license (see LICENSES/LGPL-2.1 and LICENSES/GPL-2.0 for
details), except for files identified by the following sections.
* GPL-2.0 license
These files are licensed exclusively under the GPL-2.0 license. See
LICENSES/GPL-2.0 for details.
lib/ringbuffer/ring_buffer_splice.c
lib/ringbuffer/ring_buffer_mmap.c
instrumentation/events/lttng-module/*.h
wrapper/list.h
* MIT-style license
These files are licensed under an MIT-style license. See LICENSES/MIT
for details.
lib/prio_heap/lttng_prio_heap.h
lib/prio_heap/lttng_prio_heap.c
lib/bitfield.h
filter-bytecode.h
lttng-filter-interpreter.c
lttng-filter-specialize.c
lttng-filter-validator.c
lttng-filter.c
lttng-filter.h

View File

@ -0,0 +1,359 @@
Valid-License-Identifier: GPL-2.0
Valid-License-Identifier: GPL-2.0-only
Valid-License-Identifier: GPL-2.0+
Valid-License-Identifier: GPL-2.0-or-later
SPDX-URL: https://spdx.org/licenses/GPL-2.0.html
Usage-Guide:
To use this license in source code, put one of the following SPDX
tag/value pairs into a comment according to the placement
guidelines in the licensing rules documentation.
For 'GNU General Public License (GPL) version 2 only' use:
SPDX-License-Identifier: GPL-2.0
or
SPDX-License-Identifier: GPL-2.0-only
For 'GNU General Public License (GPL) version 2 or any later version' use:
SPDX-License-Identifier: GPL-2.0+
or
SPDX-License-Identifier: GPL-2.0-or-later
License-Text:
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@ -0,0 +1,503 @@
Valid-License-Identifier: LGPL-2.1
Valid-License-Identifier: LGPL-2.1+
SPDX-URL: https://spdx.org/licenses/LGPL-2.1.html
Usage-Guide:
To use this license in source code, put one of the following SPDX
tag/value pairs into a comment according to the placement
guidelines in the licensing rules documentation.
For 'GNU Lesser General Public License (LGPL) version 2.1 only' use:
SPDX-License-Identifier: LGPL-2.1
For 'GNU Lesser General Public License (LGPL) version 2.1 or any later
version' use:
SPDX-License-Identifier: LGPL-2.1+
License-Text:
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts as
the successor of the GNU Library Public License, version 2, hence the
version number 2.1.]
Preamble
The licenses for most software are designed to take away your freedom to
share and change it. By contrast, the GNU General Public Licenses are
intended to guarantee your freedom to share and change free software--to
make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some specially
designated software packages--typically libraries--of the Free Software
Foundation and other authors who decide to use it. You can use it too, but
we suggest you first think carefully about whether this license or the
ordinary General Public License is the better strategy to use in any
particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use, not
price. Our General Public Licenses are designed to make sure that you have
the freedom to distribute copies of free software (and charge for this
service if you wish); that you receive source code or can get it if you
want it; that you can change the software and use pieces of it in new free
programs; and that you are informed that you can do these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for you if
you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis or for
a fee, you must give the recipients all the rights that we gave you. You
must make sure that they, too, receive or can get the source code. If you
link other code with the library, you must provide complete object files to
the recipients, so that they can relink them with the library after making
changes to the library and recompiling it. And you must show them these
terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that there is no
warranty for the free library. Also, if the library is modified by someone
else and passed on, the recipients should know that what they have is not
the original version, so that the original author's reputation will not be
affected by problems that might be introduced by others.
Finally, software patents pose a constant threat to the existence of any
free program. We wish to make sure that a company cannot effectively
restrict the users of a free program by obtaining a restrictive license
from a patent holder. Therefore, we insist that any patent license obtained
for a version of the library must be consistent with the full freedom of
use specified in this license.
Most GNU software, including some libraries, is covered by the ordinary GNU
General Public License. This license, the GNU Lesser General Public
License, applies to certain designated libraries, and is quite different
from the ordinary General Public License. We use this license for certain
libraries in order to permit linking those libraries into non-free
programs.
When a program is linked with a library, whether statically or using a
shared library, the combination of the two is legally speaking a combined
work, a derivative of the original library. The ordinary General Public
License therefore permits such linking only if the entire combination fits
its criteria of freedom. The Lesser General Public License permits more lax
criteria for linking other code with the library.
We call this license the "Lesser" General Public License because it does
Less to protect the user's freedom than the ordinary General Public
License. It also provides other free software developers Less of an
advantage over competing non-free programs. These disadvantages are the
reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to encourage
the widest possible use of a certain library, so that it becomes a de-facto
standard. To achieve this, non-free programs must be allowed to use the
library. A more frequent case is that a free library does the same job as
widely used non-free libraries. In this case, there is little to gain by
limiting the free library to free software only, so we use the Lesser
General Public License.
In other cases, permission to use a particular library in non-free programs
enables a greater number of people to use a large body of free
software. For example, permission to use the GNU C Library in non-free
programs enables many more people to use the whole GNU operating system, as
well as its variant, the GNU/Linux operating system.
Although the Lesser General Public License is Less protective of the users'
freedom, it does ensure that the user of a program that is linked with the
Library has the freedom and the wherewithal to run that program using a
modified version of the Library.
The precise terms and conditions for copying, distribution and modification
follow. Pay close attention to the difference between a "work based on the
library" and a "work that uses the library". The former contains code
derived from the library, whereas the latter must be combined with the
library in order to run.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other program
which contains a notice placed by the copyright holder or other
authorized party saying it may be distributed under the terms of this
Lesser General Public License (also called "this License"). Each
licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work which
has been distributed under these terms. A "work based on the Library"
means either the Library or any derivative work under copyright law:
that is to say, a work containing the Library or a portion of it, either
verbatim or with modifications and/or translated straightforwardly into
another language. (Hereinafter, translation is included without
limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for making
modifications to it. For a library, complete source code means all the
source code for all modules it contains, plus any associated interface
definition files, plus the scripts used to control compilation and
installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of running
a program using the Library is not restricted, and output from such a
program is covered only if its contents constitute a work based on the
Library (independent of the use of the Library in a tool for writing
it). Whether that is true depends on what the Library does and what the
program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's complete
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the notices
that refer to this License and to the absence of any warranty; and
distribute a copy of this License along with the Library.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Library or any portion of it,
thus forming a work based on the Library, and copy and distribute such
modifications or work under the terms of Section 1 above, provided that
you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices stating
that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no charge to
all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a table
of data to be supplied by an application program that uses the
facility, other than as an argument passed when the facility is
invoked, then you must make a good faith effort to ensure that, in
the event an application does not supply such function or table, the
facility still operates, and performs whatever part of its purpose
remains meaningful.
(For example, a function in a library to compute square roots has a
purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must be
optional: if the application does not supply it, the square root
function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library, and
can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based on
the Library, the distribution of the whole must be on the terms of this
License, whose permissions for other licensees extend to the entire
whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of a
storage or distribution medium does not bring the other work under the
scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so that
they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in these
notices.
Once this change is made in a given copy, it is irreversible for that
copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of the
Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or derivative of
it, under Section 2) in object code or executable form under the terms
of Sections 1 and 2 above provided that you accompany it with the
complete corresponding machine-readable source code, which must be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange.
If distribution of object code is made by offering access to copy from a
designated place, then offering equivalent access to copy the source
code from the same place satisfies the requirement to distribute the
source code, even though third parties are not compelled to copy the
source along with the object code.
5. A program that contains no derivative of any portion of the Library, but
is designed to work with the Library by being compiled or linked with
it, is called a "work that uses the Library". Such a work, in isolation,
is not a derivative work of the Library, and therefore falls outside the
scope of this License.
However, linking a "work that uses the Library" with the Library creates
an executable that is a derivative of the Library (because it contains
portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License. Section 6
states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is
not. Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data structure
layouts and accessors, and small macros and small inline functions (ten
lines or less in length), then the use of the object file is
unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section
6. Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or link a
"work that uses the Library" with the Library to produce a work
containing portions of the Library, and distribute that work under terms
of your choice, provided that the terms permit modification of the work
for the customer's own use and reverse engineering for debugging such
modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work during
execution displays copyright notices, you must include the copyright
notice for the Library among them, as well as a reference directing the
user to the copy of this License. Also, you must do one of these things:
a) Accompany the work with the complete corresponding machine-readable
source code for the Library including whatever changes were used in
the work (which must be distributed under Sections 1 and 2 above);
and, if the work is an executable linked with the Library, with the
complete machine-readable "work that uses the Library", as object
code and/or source code, so that the user can modify the Library and
then relink to produce a modified executable containing the modified
Library. (It is understood that the user who changes the contents of
definitions files in the Library will not necessarily be able to
recompile the application to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a copy
of the library already present on the user's computer system, rather
than copying library functions into the executable, and (2) will
operate properly with a modified version of the library, if the user
installs one, as long as the modified version is interface-compatible
with the version that the work was made with.
c) Accompany the work with a written offer, valid for at least three
years, to give the same user the materials specified in Subsection
6a, above, for a charge no more than the cost of performing this
distribution.
d) If distribution of the work is made by offering access to copy from a
designated place, offer equivalent access to copy the above specified
materials from the same place.
e) Verify that the user has already received a copy of these materials
or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the Library"
must include any data and utility programs needed for reproducing the
executable from it. However, as a special exception, the materials to be
distributed need not include anything that is normally distributed (in
either source or binary form) with the major components (compiler,
kernel, and so on) of the operating system on which the executable runs,
unless that component itself accompanies the executable.
It may happen that this requirement contradicts the license restrictions
of other proprietary libraries that do not normally accompany the
operating system. Such a contradiction means you cannot use both them
and the Library together in an executable that you distribute.
7. You may place library facilities that are a work based on the Library
side-by-side in a single library together with other library facilities
not covered by this License, and distribute such a combined library,
provided that the separate distribution of the work based on the Library
and of the other library facilities is otherwise permitted, and provided
that you do these two things:
a) Accompany the combined library with a copy of the same work based on
the Library, uncombined with any other library facilities. This must
be distributed under the terms of the Sections above.
b) Give prominent notice with the combined library of the fact that part
of it is a work based on the Library, and explaining where to find
the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute the
Library except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense, link with, or distribute the
Library is void, and will automatically terminate your rights under this
License. However, parties who have received copies, or rights, from you
under this License will not have their licenses terminated so long as
such parties remain in full compliance.
9. You are not required to accept this License, since you have not signed
it. However, nothing else grants you permission to modify or distribute
the Library or its derivative works. These actions are prohibited by law
if you do not accept this License. Therefore, by modifying or
distributing the Library (or any work based on the Library), you
indicate your acceptance of this License to do so, and all its terms and
conditions for copying, distributing or modifying the Library or works
based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted
herein. You are not responsible for enforcing compliance by third
parties with this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent license
would not permit royalty-free redistribution of the Library by all
those who receive copies directly or indirectly through you, then the
only way you could satisfy both it and this License would be to refrain
entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply, and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is implemented
by public license practices. Many people have made generous
contributions to the wide range of software distributed through that
system in reliance on consistent application of that system; it is up
to the author/donor to decide if he or she is willing to distribute
software through any other system and a licensee cannot impose that
choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in certain
countries either by patents or by copyrighted interfaces, the original
copyright holder who places the Library under this License may add an
explicit geographical distribution limitation excluding those
countries, so that distribution is permitted only in or among countries
not thus excluded. In such case, this License incorporates the
limitation as if written in the body of this License.
13. The Free Software Foundation may publish revised and/or new versions of
the Lesser General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in
detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a license
version number, you may choose any version ever published by the Free
Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free Software
Foundation; we sometimes make exceptions for this. Our decision will be
guided by the two goals of preserving the free status of all
derivatives of our free software and of promoting the sharing and reuse
of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH
YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY
(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR
OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
one line to give the library's name and an idea of what it does.
Copyright (C) year name of author
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or (at
your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add
information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in
the library `Frob' (a library for tweaking knobs) written
by James Random Hacker.
signature of Ty Coon, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

View File

@ -0,0 +1,30 @@
Valid-License-Identifier: MIT
SPDX-URL: https://spdx.org/licenses/MIT.html
Usage-Guide:
To use the MIT License put the following SPDX tag/value pair into a
comment according to the placement guidelines in the licensing rules
documentation:
SPDX-License-Identifier: MIT
License-Text:
MIT License
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

129
ltt/lttng-2.11.0/Makefile Normal file
View File

@ -0,0 +1,129 @@
# SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
ifneq ($(KERNELRELEASE),)
# This part of the Makefile is used when called by the kernel build system
# and defines the modules to be built.
ifdef CONFIG_LOCALVERSION # Check if dot-config is included.
ifeq ($(CONFIG_TRACEPOINTS),)
$(error The option CONFIG_TRACEPOINTS needs to be enabled in your kernel configuration)
endif # CONFIG_TRACEPOINTS
endif # ifdef CONFIG_LOCALVERSION
TOP_LTTNG_MODULES_DIR := $(shell dirname $(lastword $(MAKEFILE_LIST)))
lttng_check_linux_version = $(shell pwd)/include/linux/version.h
lttng_check_generated_linux_version = $(shell pwd)/include/generated/uapi/linux/version.h
#
# Check for stale version.h, which can be a leftover from an old Linux
# kernel tree moved to a newer kernel version, only pruned by make
# distclean.
#
ifneq ($(wildcard $(lttng_check_linux_version)),)
ifneq ($(wildcard $(lttng_check_generated_linux_version)),)
$(error Duplicate version.h files found in $(lttng_check_linux_version) and $(lttng_check_generated_linux_version). Consider running make distclean on your kernel, or removing the stale $(lttng_check_linux_version) file)
endif
endif
include $(TOP_LTTNG_MODULES_DIR)/Kbuild.common
ccflags-y += -I$(TOP_LTTNG_MODULES_DIR)
obj-$(CONFIG_LTTNG) += lttng-ring-buffer-client-discard.o
obj-$(CONFIG_LTTNG) += lttng-ring-buffer-client-overwrite.o
obj-$(CONFIG_LTTNG) += lttng-ring-buffer-metadata-client.o
obj-$(CONFIG_LTTNG) += lttng-ring-buffer-client-mmap-discard.o
obj-$(CONFIG_LTTNG) += lttng-ring-buffer-client-mmap-overwrite.o
obj-$(CONFIG_LTTNG) += lttng-ring-buffer-metadata-mmap-client.o
obj-$(CONFIG_LTTNG) += lttng-clock.o
obj-$(CONFIG_LTTNG) += lttng-tracer.o
obj-$(CONFIG_LTTNG) += lttng-wrapper.o
lttng-tracer-objs := lttng-events.o lttng-abi.o lttng-string-utils.o \
lttng-probes.o lttng-context.o \
lttng-context-pid.o lttng-context-procname.o \
lttng-context-prio.o lttng-context-nice.o \
lttng-context-vpid.o lttng-context-tid.o \
lttng-context-vtid.o lttng-context-ppid.o \
lttng-context-vppid.o lttng-context-cpu-id.o \
lttng-context-interruptible.o \
lttng-context-need-reschedule.o \
lttng-context-callstack.o lttng-calibrate.o \
lttng-context-hostname.o \
probes/lttng.o \
lttng-tracker-pid.o \
lttng-filter.o lttng-filter-interpreter.o \
lttng-filter-specialize.o \
lttng-filter-validator.o \
probes/lttng-probe-user.o \
lttng-tp-mempool.o \
lttng-wrapper-objs := wrapper/page_alloc.o \
wrapper/random.o \
wrapper/trace-clock.o \
wrapper/kallsyms.o \
wrapper/irqdesc.o \
wrapper/fdtable.o \
lttng-wrapper-impl.o
ifneq ($(CONFIG_HAVE_SYSCALL_TRACEPOINTS),)
lttng-tracer-objs += lttng-syscalls.o
endif # CONFIG_HAVE_SYSCALL_TRACEPOINTS
ifneq ($(CONFIG_PERF_EVENTS),)
lttng-tracer-objs += $(shell \
if [ $(VERSION) -ge 3 \
-o \( $(VERSION) -eq 2 -a $(PATCHLEVEL) -eq 6 -a $(SUBLEVEL) -ge 33 \) ] ; then \
echo "lttng-context-perf-counters.o" ; fi;)
endif # CONFIG_PERF_EVENTS
ifneq ($(CONFIG_PREEMPT_RT_FULL),)
lttng-tracer-objs += lttng-context-migratable.o
lttng-tracer-objs += lttng-context-preemptible.o
endif # CONFIG_PREEMPT_RT_FULL
ifneq ($(CONFIG_PREEMPT),)
lttng-tracer-objs += lttng-context-preemptible.o
endif
lttng-tracer-objs += $(shell \
if [ $(VERSION) -ge 4 \
-o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -ge 15 \) ] ; then \
echo "lttng-tracepoint.o" ; fi;)
obj-$(CONFIG_LTTNG) += lttng-statedump.o
lttng-statedump-objs := lttng-statedump-impl.o
obj-$(CONFIG_LTTNG) += probes/
obj-$(CONFIG_LTTNG) += lib/
obj-$(CONFIG_LTTNG) += tests/
else # KERNELRELEASE
# This part of the Makefile is used when the 'make' command is runned in the
# base directory of the lttng-modules sources. It sets some environment and
# calls the kernel build system to build the actual modules.
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
CFLAGS = $(EXTCFLAGS)
default: modules
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) CONFIG_LTTNG=m CONFIG_LTTNG_CLOCK_PLUGIN_TEST=m modules
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) CONFIG_LTTNG=m CONFIG_LTTNG_CLOCK_PLUGIN_TEST=m modules_install
clean:
$(MAKE) -C $(KERNELDIR) M=$(PWD) clean
%.i: %.c
$(MAKE) -C $(KERNELDIR) M=$(PWD) CONFIG_LTTNG=m CONFIG_LTTNG_CLOCK_PLUGIN_TEST=m $@
endif # KERNELRELEASE

122
ltt/lttng-2.11.0/README.md Normal file
View File

@ -0,0 +1,122 @@
LTTng-modules
=============
_by [Mathieu Desnoyers](mailto:mathieu.desnoyers@efficios.com)_
LTTng kernel modules are Linux kernel modules which make
[LTTng](http://lttng.org/) kernel tracing possible. They include
essential control modules and many probes which instrument numerous
interesting parts of Linux. LTTng-modules builds against a vanilla or
distribution kernel, with no need for additional patches.
Other notable features:
- Produces [CTF](http://www.efficios.com/ctf)
(Common Trace Format) natively.
- Tracepoints, function tracer, CPU Performance Monitoring Unit (PMU)
counters, kprobes, and kretprobes support.
- Have the ability to attach _context_ information to events in the
trace (e.g., any PMU counter, PID, PPID, TID, command name, etc).
All the extra information fields to be collected with events are
optional, specified on a per-tracing-session basis (except for
timestamp and event ID, which are mandatory).
Building
--------
To build and install LTTng-modules, you will need to have your kernel
headers available (or access to your full kernel source tree), and do:
make
sudo make modules_install
sudo depmod -a
The above commands will build LTTng-modules against your
current kernel. If you need to build LTTng-modules against a custom
kernel, do:
make KERNELDIR=/path/to/custom/kernel
sudo make KERNELDIR=/path/to/custom/kernel modules_install
sudo depmod -a kernel_version
### Kernel built-in support
It is also possible to build these modules as part of a kernel image. Simply
run the [`scripts/built-in.sh`](scripts/built-in.sh) script with the path to
your kernel source directory as an argument. It will symlink the
lttng-modules directory in the kernel sources and add an include in the kernel
Makefile.
Then configure your kernel as usual and enable the `CONFIG_LTTNG` option.
### Required kernel config options
Make sure your target kernel has the following config options enabled:
- `CONFIG_MODULES`: loadable module support (not strictly required
when built into the kernel)
- `CONFIG_KALLSYMS`: see files in [`wrapper`](wrapper); this is
necessary until the few required missing symbols are exported to GPL
modules from mainline
- `CONFIG_HIGH_RES_TIMERS`: needed for LTTng 2.x clock source
- `CONFIG_TRACEPOINTS`: kernel tracepoint instrumentation
(enabled as a side-effect of any of the perf/ftrace/blktrace
instrumentation features).
- `CONFIG_KPROBES` (5.7+): use kallsyms for kernel 5.7 and newer.
### Supported (optional) kernel config options
The following kernel configuration options will affect the features
available from LTTng:
- `CONFIG_HAVE_SYSCALL_TRACEPOINTS`: system call tracing:
lttng enable-event -k --syscall
lttng enable-event -k -a
- `CONFIG_PERF_EVENTS`: performance counters:
lttng add-context -t perf:*
- `CONFIG_EVENT_TRACING`: needed to allow block layer tracing
- `CONFIG_KPROBES`: dynamic probes:
lttng enable-event -k --probe ...
- `CONFIG_KRETPROBES`: dynamic function entry/return probes:
lttng enable-event -k --function ...
- `CONFIG_KALLSYMS_ALL`: state dump of mapping between block device
number and name
Usage
-----
Use [LTTng-tools](https://lttng.org/download) to control the tracer.
The session daemon of LTTng-tools should automatically load the LTTng
kernel modules when needed. Use [Babeltrace](https://lttng.org/babeltrace)
to print traces as a human-readable text log.
Support
-------
Linux kernels >= 2.6.36 are supported.
Notes
-----
### About perf PMU counters support
Each PMU counter has its zero value set when it is attached to a context with
add-context. Therefore, it is normal that the same counters attached to both the
stream context and event context show different values for a given event; what
matters is that they increment at the same rate.

116
ltt/lttng-2.11.0/TODO Normal file
View File

@ -0,0 +1,116 @@
Please contact Mathieu Desnoyers <mathieu.desnoyers@efficios.com> for
questions about this TODO list. The "Cleanup/Testing" section would be
good to go through before integration into mainline. The "Features"
section is a wish list of features to complete before releasing the
"LTTng 2.0" final version, but are not required to have LTTng working.
These features are mostly performance enhancements and instrumentation
enhancements.
TODO:
A) Cleanup/Testing
1) Test lib ring buffer snapshot feature.
When working on the lttngtop project, Julien Desfossez
reported that he needed to push the consumer position
forward explicitely with lib_ring_buffer_put_next_subbuf.
This means that although the usual case of pairs of
lib_ring_buffer_get_next_subbuf/lib_ring_buffer_put_next_subbuf
work fine, there is probably a problem that needs to be
investigated in
lib_ring_buffer_get_subbuf/lib_ring_buffer_put_subbuf, which
depend on the producer to push the reader position.
Contact: Julien Desfossez <julien.desfossez@polymtl.ca>
B) Features
1) Integration of the LTTng 0.x trace clocks into
LTTng 2.0.
Currently using mainline kernel monotonic clock. NMIs can
therefore not be traced, and this causes a significant
performance degradation compared to the LTTng 0.x trace
clocks. Imply the creation of drivers/staging/lttng/arch to
contain the arch-specific clock support files.
* Dependency: addition of clock descriptions to CTF.
See: http://git.lttng.org/?p=linux-2.6-lttng.git;a=summary
for the LTTng 0.x git tree.
2) Port OMAP3 LTTng trace clocks to x86 to support systems
without constant TSC.
* Dependency: (B.1)
See: http://git.lttng.org/?p=linux-2.6-lttng.git;a=summary
for the LTTng 0.x git tree.
3) Implement mmap operation on an anonymous file created by a
LTTNG_KERNEL_CLOCK ioctl to export data to export
synchronized kernel and user-level LTTng trace clocks:
with:
- shared per-cpu data,
- read seqlock.
The content exported by this shared memory area will be
arch-specific.
* Dependency: (B.1) && (B.2)
See: http://git.lttng.org/?p=linux-2.6-lttng.git;a=summary
for the LTTng 0.x git tree, which has vDSO support for
LTTng trace clock on the x86 architecture.
3) Integrate the "statedump" module from LTTng 0.x into LTTng
2.0.
See: http://git.lttng.org/?p=lttng-modules.git;a=shortlog;h=refs/heads/v0.19-stable
ltt-statedump.c
4) Generate system call TRACE_EVENT headers for all
architectures (currently done: x86 32/64).
5) Define "unknown" system calls into instrumentation/syscalls
override files / or do SYSCALL_DEFINE improvements to
mainline kernel to allow automatic generation of these
missing system call descriptions.
6) Create missing tracepoint event headers files into
instrumentation/events from headers located in
include/trace/events/. Choice: either do as currently done,
and copy those headers locally into the lttng driver and
perform the modifications locally, or push TRACE_EVENT API
modification into mainline headers, which would require
collaboration from Ftrace/Perf maintainers.
7) Poll: implement a poll and/or epoll exclusive wakeup scheme,
which contradicts POSIX, but protect multiple consumer
threads from thundering herd effect.
8) Re-integrate sample modules from libringbuffer into
lttng driver. Those modules can be used as example of how to
use libringbuffer in other contexts than LTTng, and are
useful to perform benchmarks of the ringbuffer library.
See: http://www.efficios.com/ringbuffer
9) NOHZ support for lib ring buffer. NOHZ infrastructure in the
Linux kernel does not support notifiers chains, which does
not let LTTng play nicely with low power consumption setups
for flight recorder (overwrite mode) live traces. One way to
allow integration between NOHZ and LTTng would be to add
support for such notifiers into NOHZ kernel infrastructure.
10) Turn lttng-probes.c probe_list into a
hash table. Turns O(n^2) trace systems registration (cost
for n systems) into O(n). (O(1) per system)
11) drivers/staging/lttng/probes/lttng-ftrace.c:
LTTng currently uses kretprobes for per-function tracing,
not the function tracer. So lttng-ftrace.c should be used
for "all" function tracing.
12) drivers/staging/lttng/probes/lttng-types.c:
This is a currently unused placeholder to export entire C
type declarations into the trace metadata, e.g. for support
of describing the layout of structures/enumeration mapping
along with syscall entry events. The design of this support
will likely change though, and become integrated with the
TRACE_EVENT support within lttng, by adding new macros, and
support for generation of metadata from these macros, to
allow description of those compound types/enumerations.
Please send patches
To: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>

View File

@ -0,0 +1,23 @@
/* SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
*
* blacklist/kprobes.h
*
* Blacklist of kernel for buggy kprobes implementation.
*
* Copyright (C) 2019 Jonathan Rajotte-Julien <jonathan.rajotte-julien@efficios.com>
*/
#ifndef _LTTNG_BLACKLIST_KPROBES_H
#define _LTTNG_BLACKLIST_KPROBES_H
#include <lttng-kernel-version.h>
#if LTTNG_KERNEL_RANGE(4,20,0, 4,20,13) \
|| LTTNG_KERNEL_RANGE(4,19,9, 4,19,26) \
|| LTTNG_KERNEL_RANGE(4,14,87, 4,14,104)
# if defined(CONFIG_ARM) && defined(CONFIG_OPTPROBES)
# error "Your kernel is known to have buggy optimized kprobes implementation. Fixed by commit 0ac569bf6a7983c0c5747d6df8db9dc05bc92b6c \"ARM: 8834/1: Fix: kprobes: optimized kprobes illegal instruction\" in Linux. Disable CONFIG_OPTPROBES or upgrade your kernel."
# endif /* #if defined(CONFIG_ARM) && defined(CONFIG_OPTPROBES) */
#endif
#endif /* _LTTNG_BLACKLIST_KPROBES_H */

View File

@ -0,0 +1,20 @@
/* SPDX-License-Identifier: (GPL-2.0 OR LGPL-2.1)
*
* blacklist/timekeeping.h
*
* Blacklist of kernel for buggy timekeeping implementation.
*
* Copyright (C) 2019 Jonathan Rajotte-Julien <jonathan.rajotte-julien@efficios.com>
*/
#ifndef _LTTNG_BLACKLIST_TIMEKEEPING_H
#define _LTTNG_BLACKLIST_TIMEKEEPING_H
#include <lttng-kernel-version.h>
#if ((LTTNG_KERNEL_RANGE(3,10,0, 3,10,14) && !LTTNG_RHEL_KERNEL_RANGE(3,10,0,123,0,0, 3,10,14,0,0,0)) \
|| LTTNG_KERNEL_RANGE(3,11,0, 3,11,3))
# error "Linux kernels 3.10 and 3.11 introduce a deadlock in the timekeeping subsystem. Fixed by commit 7bd36014460f793c19e7d6c94dab67b0afcfcb7f \"timekeeping: Fix HRTICK related deadlock from ntp lock changes\" in Linux."
#endif
#endif /* _LTTNG_BLACKLIST_TIMEKEEPING_H */

View File

@ -0,0 +1,2 @@
The first line of the "name" file is used to populate the "extra_version_name"
modinfo key of each built module.

View File

@ -0,0 +1,225 @@
/* SPDX-License-Identifier: MIT
*
* filter-bytecode.h
*
* LTTng filter bytecode
*
* Copyright 2012-2016 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
#ifndef _FILTER_BYTECODE_H
#define _FILTER_BYTECODE_H
/*
* offsets are absolute from start of bytecode.
*/
struct field_ref {
/* Initially, symbol offset. After link, field offset. */
uint16_t offset;
} __attribute__((packed));
struct get_symbol {
/* Symbol offset. */
uint16_t offset;
} __attribute__((packed));
struct get_index_u16 {
uint16_t index;
} __attribute__((packed));
struct get_index_u64 {
uint64_t index;
} __attribute__((packed));
struct literal_numeric {
int64_t v;
} __attribute__((packed));
struct literal_double {
double v;
} __attribute__((packed));
struct literal_string {
char string[0];
} __attribute__((packed));
enum filter_op {
FILTER_OP_UNKNOWN = 0,
FILTER_OP_RETURN = 1,
/* binary */
FILTER_OP_MUL = 2,
FILTER_OP_DIV = 3,
FILTER_OP_MOD = 4,
FILTER_OP_PLUS = 5,
FILTER_OP_MINUS = 6,
FILTER_OP_BIT_RSHIFT = 7,
FILTER_OP_BIT_LSHIFT = 8,
FILTER_OP_BIT_AND = 9,
FILTER_OP_BIT_OR = 10,
FILTER_OP_BIT_XOR = 11,
/* binary comparators */
FILTER_OP_EQ = 12,
FILTER_OP_NE = 13,
FILTER_OP_GT = 14,
FILTER_OP_LT = 15,
FILTER_OP_GE = 16,
FILTER_OP_LE = 17,
/* string binary comparator: apply to */
FILTER_OP_EQ_STRING = 18,
FILTER_OP_NE_STRING = 19,
FILTER_OP_GT_STRING = 20,
FILTER_OP_LT_STRING = 21,
FILTER_OP_GE_STRING = 22,
FILTER_OP_LE_STRING = 23,
/* s64 binary comparator */
FILTER_OP_EQ_S64 = 24,
FILTER_OP_NE_S64 = 25,
FILTER_OP_GT_S64 = 26,
FILTER_OP_LT_S64 = 27,
FILTER_OP_GE_S64 = 28,
FILTER_OP_LE_S64 = 29,
/* double binary comparator */
FILTER_OP_EQ_DOUBLE = 30,
FILTER_OP_NE_DOUBLE = 31,
FILTER_OP_GT_DOUBLE = 32,
FILTER_OP_LT_DOUBLE = 33,
FILTER_OP_GE_DOUBLE = 34,
FILTER_OP_LE_DOUBLE = 35,
/* Mixed S64-double binary comparators */
FILTER_OP_EQ_DOUBLE_S64 = 36,
FILTER_OP_NE_DOUBLE_S64 = 37,
FILTER_OP_GT_DOUBLE_S64 = 38,
FILTER_OP_LT_DOUBLE_S64 = 39,
FILTER_OP_GE_DOUBLE_S64 = 40,
FILTER_OP_LE_DOUBLE_S64 = 41,
FILTER_OP_EQ_S64_DOUBLE = 42,
FILTER_OP_NE_S64_DOUBLE = 43,
FILTER_OP_GT_S64_DOUBLE = 44,
FILTER_OP_LT_S64_DOUBLE = 45,
FILTER_OP_GE_S64_DOUBLE = 46,
FILTER_OP_LE_S64_DOUBLE = 47,
/* unary */
FILTER_OP_UNARY_PLUS = 48,
FILTER_OP_UNARY_MINUS = 49,
FILTER_OP_UNARY_NOT = 50,
FILTER_OP_UNARY_PLUS_S64 = 51,
FILTER_OP_UNARY_MINUS_S64 = 52,
FILTER_OP_UNARY_NOT_S64 = 53,
FILTER_OP_UNARY_PLUS_DOUBLE = 54,
FILTER_OP_UNARY_MINUS_DOUBLE = 55,
FILTER_OP_UNARY_NOT_DOUBLE = 56,
/* logical */
FILTER_OP_AND = 57,
FILTER_OP_OR = 58,
/* load field ref */
FILTER_OP_LOAD_FIELD_REF = 59,
FILTER_OP_LOAD_FIELD_REF_STRING = 60,
FILTER_OP_LOAD_FIELD_REF_SEQUENCE = 61,
FILTER_OP_LOAD_FIELD_REF_S64 = 62,
FILTER_OP_LOAD_FIELD_REF_DOUBLE = 63,
/* load immediate from operand */
FILTER_OP_LOAD_STRING = 64,
FILTER_OP_LOAD_S64 = 65,
FILTER_OP_LOAD_DOUBLE = 66,
/* cast */
FILTER_OP_CAST_TO_S64 = 67,
FILTER_OP_CAST_DOUBLE_TO_S64 = 68,
FILTER_OP_CAST_NOP = 69,
/* get context ref */
FILTER_OP_GET_CONTEXT_REF = 70,
FILTER_OP_GET_CONTEXT_REF_STRING = 71,
FILTER_OP_GET_CONTEXT_REF_S64 = 72,
FILTER_OP_GET_CONTEXT_REF_DOUBLE = 73,
/* load userspace field ref */
FILTER_OP_LOAD_FIELD_REF_USER_STRING = 74,
FILTER_OP_LOAD_FIELD_REF_USER_SEQUENCE = 75,
/*
* load immediate star globbing pattern (literal string)
* from immediate
*/
FILTER_OP_LOAD_STAR_GLOB_STRING = 76,
/* globbing pattern binary operator: apply to */
FILTER_OP_EQ_STAR_GLOB_STRING = 77,
FILTER_OP_NE_STAR_GLOB_STRING = 78,
/*
* Instructions for recursive traversal through composed types.
*/
FILTER_OP_GET_CONTEXT_ROOT = 79,
FILTER_OP_GET_APP_CONTEXT_ROOT = 80,
FILTER_OP_GET_PAYLOAD_ROOT = 81,
FILTER_OP_GET_SYMBOL = 82,
FILTER_OP_GET_SYMBOL_FIELD = 83,
FILTER_OP_GET_INDEX_U16 = 84,
FILTER_OP_GET_INDEX_U64 = 85,
FILTER_OP_LOAD_FIELD = 86,
FILTER_OP_LOAD_FIELD_S8 = 87,
FILTER_OP_LOAD_FIELD_S16 = 88,
FILTER_OP_LOAD_FIELD_S32 = 89,
FILTER_OP_LOAD_FIELD_S64 = 90,
FILTER_OP_LOAD_FIELD_U8 = 91,
FILTER_OP_LOAD_FIELD_U16 = 92,
FILTER_OP_LOAD_FIELD_U32 = 93,
FILTER_OP_LOAD_FIELD_U64 = 94,
FILTER_OP_LOAD_FIELD_STRING = 95,
FILTER_OP_LOAD_FIELD_SEQUENCE = 96,
FILTER_OP_LOAD_FIELD_DOUBLE = 97,
FILTER_OP_UNARY_BIT_NOT = 98,
FILTER_OP_RETURN_S64 = 99,
NR_FILTER_OPS,
};
typedef uint8_t filter_opcode_t;
struct load_op {
filter_opcode_t op;
char data[0];
/* data to load. Size known by enum filter_opcode and null-term char. */
} __attribute__((packed));
struct binary_op {
filter_opcode_t op;
} __attribute__((packed));
struct unary_op {
filter_opcode_t op;
} __attribute__((packed));
/* skip_offset is absolute from start of bytecode */
struct logical_op {
filter_opcode_t op;
uint16_t skip_offset; /* bytecode insn, if skip second test */
} __attribute__((packed));
struct cast_op {
filter_opcode_t op;
} __attribute__((packed));
struct return_op {
filter_opcode_t op;
} __attribute__((packed));
#endif /* _FILTER_BYTECODE_H */

View File

@ -0,0 +1,24 @@
* Workflow for updating patches from newer kernel:
Pull the new headers from mainline kernel to lttng-modules/.
Update those headers to fix the lttng-modules instrumentation style.
* Workflow to add new Tracepoint instrumentation to newer kernel,
and add support for it into LTTng:
a) instrument the kernel with new trace events headers. If you want that
instrumentation distributed, you will have to push those changes into
the upstream Linux kernel first,
b) copy those headers into lttng-modules/ directory,
c) look at a diff from other headers between mainline kernel version and
lttng-modules/, and use that as a recipe to alter the new
lttng-modules/ headers.
d) create a new file in probes/ for the new trace event header you added,
e) add it to probes/Makefile,
f) build, make modules_install,
g) don't forget to load that new module too.
Currently, LTTng policy is to only accept headers derived from trace
event headers accepted into the Linux kernel upstream for tracepoints
related to upstream kernel instrumentation.

View File

@ -0,0 +1,57 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM 9p
#if !defined(LTTNG_TRACE_9P_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_9P_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/version.h>
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
LTTNG_TRACEPOINT_EVENT(9p_client_req,
TP_PROTO(struct p9_client *clnt, int8_t type, int tag),
TP_ARGS(clnt, type, tag),
TP_FIELDS(
ctf_integer_hex(void *, clnt, clnt)
ctf_integer(u8, type, type)
ctf_integer(u32, tag, tag)
)
)
LTTNG_TRACEPOINT_EVENT(9p_client_res,
TP_PROTO(struct p9_client *clnt, int8_t type, int tag, int err),
TP_ARGS(clnt, type, tag, err),
TP_FIELDS(
ctf_integer_hex(void *, clnt, clnt)
ctf_integer(u8, type, type)
ctf_integer(u32, tag, tag)
ctf_integer(u32, err, err)
)
)
LTTNG_TRACEPOINT_EVENT(9p_protocol_dump,
TP_PROTO(struct p9_client *clnt, struct p9_fcall *pdu),
TP_ARGS(clnt, pdu),
TP_FIELDS(
ctf_integer_hex(void *, clnt, clnt)
ctf_integer(u8, type, pdu->id)
ctf_integer(u16, tag, pdu->tag)
ctf_array(unsigned char, line, pdu->sdata, P9_PROTO_DUMP_SZ)
)
)
#endif
#endif /* LTTNG_TRACE_9P_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,53 @@
/* SPDX-License-Identifier: GPL-2.0 */
#if !defined(LTTNG_TRACE_EXCEPTIONS_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_EXCEPTIONS_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/version.h>
#undef TRACE_SYSTEM
#define TRACE_SYSTEM x86_exceptions
LTTNG_TRACEPOINT_EVENT_CLASS(x86_exceptions_class,
TP_PROTO(unsigned long address, struct pt_regs *regs,
unsigned long error_code),
TP_ARGS(address, regs, error_code),
TP_FIELDS(
ctf_integer_hex(unsigned long, address, address)
ctf_integer_hex(unsigned long, ip, regs->ip)
/*
* Note: we cast error_code from unsigned long
* to unsigned char to save space in the trace.
* Currently, only 5 low bits are used. Should be made
* larger if error codes are added to the kernel.
*/
ctf_integer_hex(unsigned char, error_code, error_code)
)
)
#define LTTNG_EXCEPTIONS_TRACEPOINT_EVENT_INSTANCE_MAP(name, map) \
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(x86_exceptions_class, \
name, \
map, \
TP_PROTO(unsigned long address, struct pt_regs *regs, \
unsigned long error_code), \
TP_ARGS(address, regs, error_code) \
)
LTTNG_EXCEPTIONS_TRACEPOINT_EVENT_INSTANCE_MAP(page_fault_user,
x86_exceptions_page_fault_user)
LTTNG_EXCEPTIONS_TRACEPOINT_EVENT_INSTANCE_MAP(page_fault_kernel,
x86_exceptions_page_fault_kernel)
#endif /* LTTNG_TRACE_EXCEPTIONS_H */
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH instrumentation/events/lttng-module/arch/x86
#undef TRACE_INCLUDE_FILE
#define TRACE_INCLUDE_FILE exceptions
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,116 @@
/* SPDX-License-Identifier: GPL-2.0 */
#if !defined(LTTNG_TRACE_IRQ_VECTORS_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_IRQ_VECTORS_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/version.h>
#undef TRACE_SYSTEM
#define TRACE_SYSTEM x86_irq_vectors
LTTNG_TRACEPOINT_EVENT_CLASS(x86_irq_vectors_vector_class,
TP_PROTO(int vector),
TP_ARGS(vector),
TP_FIELDS(
ctf_integer(int, vector, vector)
)
)
#define LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(name, map) \
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(x86_irq_vectors_vector_class, \
name##_entry, \
map##_entry, \
TP_PROTO(int vector), \
TP_ARGS(vector) \
) \
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(x86_irq_vectors_vector_class, \
name##_exit, \
map##_exit, \
TP_PROTO(int vector), \
TP_ARGS(vector) \
)
/*
* local_timer - called when entering/exiting a local timer interrupt
* vector handler
*/
LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(local_timer,
x86_irq_vectors_local_timer)
/*
* reschedule - called when entering/exiting a reschedule vector handler
*/
LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(reschedule,
x86_irq_vectors_reschedule)
/*
* spurious_apic - called when entering/exiting a spurious apic vector handler
*/
LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(spurious_apic,
x86_irq_vectors_spurious_apic)
/*
* error_apic - called when entering/exiting an error apic vector handler
*/
LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(error_apic,
x86_irq_vectors_error_apic)
/*
* x86_platform_ipi - called when entering/exiting a x86 platform ipi interrupt
* vector handler
*/
LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(x86_platform_ipi,
x86_irq_vectors_ipi)
/*
* irq_work - called when entering/exiting a irq work interrupt
* vector handler
*/
LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(irq_work,
x86_irq_vectors_irq_work)
/*
* call_function - called when entering/exiting a call function interrupt
* vector handler
*/
LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(call_function,
x86_irq_vectors_call_function)
/*
* call_function_single - called when entering/exiting a call function
* single interrupt vector handler
*/
LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(call_function_single,
x86_irq_vectors_call_function_single)
/*
* threshold_apic - called when entering/exiting a threshold apic interrupt
* vector handler
*/
LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(threshold_apic,
x86_irq_vectors_threshold_apic)
/*
* deferred_error_apic - called when entering/exiting a deferred apic interrupt
* vector handler
*/
LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(deferred_error_apic,
x86_irq_vectors_deferred_error_apic)
/*
* thermal_apic - called when entering/exiting a thermal apic interrupt
* vector handler
*/
LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(thermal_apic,
x86_irq_vectors_thermal_apic)
#endif /* LTTNG_TRACE_IRQ_VECTORS_H */
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH instrumentation/events/lttng-module/arch/x86
#undef TRACE_INCLUDE_FILE
#define TRACE_INCLUDE_FILE irq_vectors
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,313 @@
/* SPDX-License-Identifier: GPL-2.0 */
#if !defined(LTTNG_TRACE_KVM_MMU_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_KVM_MMU_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/version.h>
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0))
#include <linux/trace_events.h>
#else /* if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) */
#include <linux/ftrace_event.h>
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM kvm_mmu
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,1,0) || \
LTTNG_RHEL_KERNEL_RANGE(4,18,0,147,0,0, 4,19,0,0,0,0))
#define LTTNG_KVM_MMU_PAGE_FIELDS \
ctf_integer(__u64, gfn, (sp)->gfn) \
ctf_integer(__u32, role, (sp)->role.word) \
ctf_integer(__u32, root_count, (sp)->root_count) \
ctf_integer(bool, unsync, (sp)->unsync)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
#define LTTNG_KVM_MMU_PAGE_FIELDS \
ctf_integer(unsigned long, mmu_valid_gen, (sp)->mmu_valid_gen) \
ctf_integer(__u64, gfn, (sp)->gfn) \
ctf_integer(__u32, role, (sp)->role.word) \
ctf_integer(__u32, root_count, (sp)->root_count) \
ctf_integer(bool, unsync, (sp)->unsync)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) */
#define LTTNG_KVM_MMU_PAGE_FIELDS \
ctf_integer(__u64, gfn, (sp)->gfn) \
ctf_integer(__u32, role, (sp)->role.word) \
ctf_integer(__u32, root_count, (sp)->root_count) \
ctf_integer(bool, unsync, (sp)->unsync)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0))
/*
* A pagetable walk has started
*/
LTTNG_TRACEPOINT_EVENT(
kvm_mmu_pagetable_walk,
TP_PROTO(u64 addr, u32 pferr),
TP_ARGS(addr, pferr),
TP_FIELDS(
ctf_integer(__u64, addr, addr)
ctf_integer(__u32, pferr, pferr)
)
)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)) */
/*
* A pagetable walk has started
*/
LTTNG_TRACEPOINT_EVENT(
kvm_mmu_pagetable_walk,
TP_PROTO(u64 addr, int write_fault, int user_fault, int fetch_fault),
TP_ARGS(addr, write_fault, user_fault, fetch_fault),
TP_FIELDS(
ctf_integer(__u64, addr, addr)
ctf_integer(__u32, pferr,
(!!write_fault << 1) | (!!user_fault << 2)
| (!!fetch_fault << 4))
)
)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)) */
/* We just walked a paging element */
LTTNG_TRACEPOINT_EVENT(
kvm_mmu_paging_element,
TP_PROTO(u64 pte, int level),
TP_ARGS(pte, level),
TP_FIELDS(
ctf_integer(__u64, pte, pte)
ctf_integer(__u32, level, level)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(kvm_mmu_set_bit_class,
TP_PROTO(unsigned long table_gfn, unsigned index, unsigned size),
TP_ARGS(table_gfn, index, size),
TP_FIELDS(
ctf_integer(__u64, gpa,
((u64)table_gfn << PAGE_SHIFT) + index * size)
)
)
/* We set a pte accessed bit */
LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_mmu_set_bit_class, kvm_mmu_set_accessed_bit,
TP_PROTO(unsigned long table_gfn, unsigned index, unsigned size),
TP_ARGS(table_gfn, index, size)
)
/* We set a pte dirty bit */
LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_mmu_set_bit_class, kvm_mmu_set_dirty_bit,
TP_PROTO(unsigned long table_gfn, unsigned index, unsigned size),
TP_ARGS(table_gfn, index, size)
)
LTTNG_TRACEPOINT_EVENT(
kvm_mmu_walker_error,
TP_PROTO(u32 pferr),
TP_ARGS(pferr),
TP_FIELDS(
ctf_integer(__u32, pferr, pferr)
)
)
LTTNG_TRACEPOINT_EVENT(
kvm_mmu_get_page,
TP_PROTO(struct kvm_mmu_page *sp, bool created),
TP_ARGS(sp, created),
TP_FIELDS(
LTTNG_KVM_MMU_PAGE_FIELDS
ctf_integer(bool, created, created)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(kvm_mmu_page_class,
TP_PROTO(struct kvm_mmu_page *sp),
TP_ARGS(sp),
TP_FIELDS(
LTTNG_KVM_MMU_PAGE_FIELDS
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_mmu_page_class, kvm_mmu_sync_page,
TP_PROTO(struct kvm_mmu_page *sp),
TP_ARGS(sp)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_mmu_page_class, kvm_mmu_unsync_page,
TP_PROTO(struct kvm_mmu_page *sp),
TP_ARGS(sp)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_mmu_page_class, kvm_mmu_prepare_zap_page,
TP_PROTO(struct kvm_mmu_page *sp),
TP_ARGS(sp)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
LTTNG_TRACEPOINT_EVENT_MAP(
mark_mmio_spte,
kvm_mmu_mark_mmio_spte,
TP_PROTO(u64 *sptep, gfn_t gfn, u64 spte),
TP_ARGS(sptep, gfn, spte),
TP_FIELDS(
ctf_integer_hex(void *, sptep, sptep)
ctf_integer(gfn_t, gfn, gfn)
ctf_integer(unsigned, access, spte & ACC_ALL)
ctf_integer(unsigned int, gen, get_mmio_spte_generation(spte))
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
LTTNG_TRACEPOINT_EVENT_MAP(
mark_mmio_spte,
kvm_mmu_mark_mmio_spte,
TP_PROTO(u64 *sptep, gfn_t gfn, unsigned access, unsigned int gen),
TP_ARGS(sptep, gfn, access, gen),
TP_FIELDS(
ctf_integer_hex(void *, sptep, sptep)
ctf_integer(gfn_t, gfn, gfn)
ctf_integer(unsigned, access, access)
ctf_integer(unsigned int, gen, gen)
)
)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) */
LTTNG_TRACEPOINT_EVENT_MAP(
mark_mmio_spte,
kvm_mmu_mark_mmio_spte,
TP_PROTO(u64 *sptep, gfn_t gfn, unsigned access),
TP_ARGS(sptep, gfn, access),
TP_FIELDS(
ctf_integer_hex(void *, sptep, sptep)
ctf_integer(gfn_t, gfn, gfn)
ctf_integer(unsigned, access, access)
)
)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) */
LTTNG_TRACEPOINT_EVENT_MAP(
handle_mmio_page_fault,
kvm_mmu_handle_mmio_page_fault,
TP_PROTO(u64 addr, gfn_t gfn, unsigned access),
TP_ARGS(addr, gfn, access),
TP_FIELDS(
ctf_integer(u64, addr, addr)
ctf_integer(gfn_t, gfn, gfn)
ctf_integer(unsigned, access, access)
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
LTTNG_TRACEPOINT_EVENT_MAP(
fast_page_fault,
kvm_mmu_fast_page_fault,
TP_PROTO(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u32 error_code,
u64 *sptep, u64 old_spte, int ret),
TP_ARGS(vcpu, cr2_or_gpa, error_code, sptep, old_spte, ret),
TP_FIELDS(
ctf_integer(int, vcpu_id, vcpu->vcpu_id)
ctf_integer(gpa_t, cr2_or_gpa, cr2_or_gpa)
ctf_integer(u32, error_code, error_code)
ctf_integer_hex(u64 *, sptep, sptep)
ctf_integer(u64, old_spte, old_spte)
ctf_integer(u64, new_spte, *sptep)
ctf_integer(int, ret, ret)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) || \
LTTNG_KERNEL_RANGE(4,19,103, 4,20,0) || \
LTTNG_KERNEL_RANGE(5,4,19, 5,5,0) || \
LTTNG_KERNEL_RANGE(5,5,3, 5,6,0) || \
LTTNG_UBUNTU_KERNEL_RANGE(4,15,18,92, 4,16,0,0) || \
LTTNG_UBUNTU_KERNEL_RANGE(5,0,21,44, 5,1,0,0) || \
LTTNG_UBUNTU_KERNEL_RANGE(5,3,18,43, 5,3,18,45) || \
LTTNG_UBUNTU_KERNEL_RANGE(5,3,18,46, 5,4,0,0))
LTTNG_TRACEPOINT_EVENT_MAP(
fast_page_fault,
kvm_mmu_fast_page_fault,
TP_PROTO(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u32 error_code,
u64 *sptep, u64 old_spte, bool retry),
TP_ARGS(vcpu, cr2_or_gpa, error_code, sptep, old_spte, retry),
TP_FIELDS(
ctf_integer(int, vcpu_id, vcpu->vcpu_id)
ctf_integer(gpa_t, cr2_or_gpa, cr2_or_gpa)
ctf_integer(u32, error_code, error_code)
ctf_integer_hex(u64 *, sptep, sptep)
ctf_integer(u64, old_spte, old_spte)
ctf_integer(u64, new_spte, *sptep)
ctf_integer(bool, retry, retry)
)
)
#else
LTTNG_TRACEPOINT_EVENT_MAP(
fast_page_fault,
kvm_mmu_fast_page_fault,
TP_PROTO(struct kvm_vcpu *vcpu, gva_t gva, u32 error_code,
u64 *sptep, u64 old_spte, bool retry),
TP_ARGS(vcpu, gva, error_code, sptep, old_spte, retry),
TP_FIELDS(
ctf_integer(int, vcpu_id, vcpu->vcpu_id)
ctf_integer(gva_t, gva, gva)
ctf_integer(u32, error_code, error_code)
ctf_integer_hex(u64 *, sptep, sptep)
ctf_integer(u64, old_spte, old_spte)
ctf_integer(u64, new_spte, *sptep)
ctf_integer(bool, retry, retry)
)
)
#endif
#endif /* LTTNG_TRACE_KVM_MMU_H */
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH instrumentation/events/lttng-module/arch/x86/kvm
#undef TRACE_INCLUDE_FILE
#define TRACE_INCLUDE_FILE mmutrace
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,591 @@
/* SPDX-License-Identifier: GPL-2.0 */
#if !defined(LTTNG_TRACE_KVM_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_KVM_H
#include <probes/lttng-tracepoint-event.h>
#include <asm/vmx.h>
#include <asm/svm.h>
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
#include <asm/clocksource.h>
#endif
#include <linux/version.h>
#include <../arch/x86/kvm/lapic.h>
#include <../arch/x86/kvm/kvm_cache_regs.h>
#undef TRACE_SYSTEM
#define TRACE_SYSTEM kvm_x86
/*
* Tracepoint for guest mode entry.
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_entry, kvm_x86_entry,
TP_PROTO(unsigned int vcpu_id),
TP_ARGS(vcpu_id),
TP_FIELDS(
ctf_integer(unsigned int, vcpu_id, vcpu_id)
)
)
/*
* Tracepoint for hypercall.
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_hypercall, kvm_x86_hypercall,
TP_PROTO(unsigned long nr, unsigned long a0, unsigned long a1,
unsigned long a2, unsigned long a3),
TP_ARGS(nr, a0, a1, a2, a3),
TP_FIELDS(
ctf_integer(unsigned long, nr, nr)
ctf_integer(unsigned long, a0, a0)
ctf_integer(unsigned long, a1, a1)
ctf_integer(unsigned long, a2, a2)
ctf_integer(unsigned long, a3, a3)
)
)
/*
* Tracepoint for hypercall.
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_hv_hypercall, kvm_x86_hv_hypercall,
TP_PROTO(__u16 code, bool fast, __u16 rep_cnt, __u16 rep_idx,
__u64 ingpa, __u64 outgpa),
TP_ARGS(code, fast, rep_cnt, rep_idx, ingpa, outgpa),
TP_FIELDS(
ctf_integer(__u16, rep_cnt, rep_cnt)
ctf_integer(__u16, rep_idx, rep_idx)
ctf_integer(__u64, ingpa, ingpa)
ctf_integer(__u64, outgpa, outgpa)
ctf_integer(__u16, code, code)
ctf_integer(bool, fast, fast)
)
)
/*
* Tracepoint for PIO.
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_pio, kvm_x86_pio,
TP_PROTO(unsigned int rw, unsigned int port, unsigned int size,
unsigned int count),
TP_ARGS(rw, port, size, count),
TP_FIELDS(
ctf_integer(unsigned int, rw, rw)
ctf_integer(unsigned int, port, port)
ctf_integer(unsigned int, size, size)
ctf_integer(unsigned int, count, count)
)
)
/*
* Tracepoint for cpuid.
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_cpuid, kvm_x86_cpuid,
TP_PROTO(unsigned int function, unsigned long rax, unsigned long rbx,
unsigned long rcx, unsigned long rdx),
TP_ARGS(function, rax, rbx, rcx, rdx),
TP_FIELDS(
ctf_integer(unsigned int, function, function)
ctf_integer(unsigned long, rax, rax)
ctf_integer(unsigned long, rbx, rbx)
ctf_integer(unsigned long, rcx, rcx)
ctf_integer(unsigned long, rdx, rdx)
)
)
/*
* Tracepoint for apic access.
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_apic, kvm_x86_apic,
TP_PROTO(unsigned int rw, unsigned int reg, unsigned int val),
TP_ARGS(rw, reg, val),
TP_FIELDS(
ctf_integer(unsigned int, rw, rw)
ctf_integer(unsigned int, reg, reg)
ctf_integer(unsigned int, val, val)
)
)
#define trace_kvm_apic_read(reg, val) trace_kvm_apic(0, reg, val)
#define trace_kvm_apic_write(reg, val) trace_kvm_apic(1, reg, val)
/*
* Tracepoint for kvm guest exit:
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
LTTNG_TRACEPOINT_EVENT_CODE_MAP(kvm_exit, kvm_x86_exit,
TP_PROTO(unsigned int exit_reason, struct kvm_vcpu *vcpu, u32 isa),
TP_ARGS(exit_reason, vcpu, isa),
TP_locvar(
u64 info1, info2;
u32 intr_info, error_code;
),
TP_code_pre(
kvm_x86_ops.get_exit_info(vcpu, &tp_locvar->info1,
&tp_locvar->info2,
&tp_locvar->intr_info,
&tp_locvar->error_code);
),
TP_FIELDS(
ctf_integer(unsigned int, exit_reason, exit_reason)
ctf_integer(unsigned long, guest_rip, kvm_rip_read(vcpu))
ctf_integer(u32, isa, isa)
ctf_integer(u64, info1, tp_locvar->info1)
ctf_integer(u64, info2, tp_locvar->info2)
ctf_integer(u32, intr_info, tp_locvar->intr_info)
ctf_integer(u32, error_code, tp_locvar->error_code)
ctf_integer(unsigned int, vcpu_id, vcpu->vcpu_id)
),
TP_code_post()
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0))
LTTNG_TRACEPOINT_EVENT_CODE_MAP(kvm_exit, kvm_x86_exit,
TP_PROTO(unsigned int exit_reason, struct kvm_vcpu *vcpu, u32 isa),
TP_ARGS(exit_reason, vcpu, isa),
TP_locvar(
u64 info1, info2;
),
TP_code_pre(
kvm_x86_ops.get_exit_info(vcpu, &tp_locvar->info1,
&tp_locvar->info2);
),
TP_FIELDS(
ctf_integer(unsigned int, exit_reason, exit_reason)
ctf_integer(unsigned long, guest_rip, kvm_rip_read(vcpu))
ctf_integer(u32, isa, isa)
ctf_integer(u64, info1, tp_locvar->info1)
ctf_integer(u64, info2, tp_locvar->info2)
),
TP_code_post()
)
#else
LTTNG_TRACEPOINT_EVENT_CODE_MAP(kvm_exit, kvm_x86_exit,
TP_PROTO(unsigned int exit_reason, struct kvm_vcpu *vcpu, u32 isa),
TP_ARGS(exit_reason, vcpu, isa),
TP_locvar(
u64 info1, info2;
),
TP_code_pre(
kvm_x86_ops->get_exit_info(vcpu, &tp_locvar->info1,
&tp_locvar->info2);
),
TP_FIELDS(
ctf_integer(unsigned int, exit_reason, exit_reason)
ctf_integer(unsigned long, guest_rip, kvm_rip_read(vcpu))
ctf_integer(u32, isa, isa)
ctf_integer(u64, info1, tp_locvar->info1)
ctf_integer(u64, info2, tp_locvar->info2)
),
TP_code_post()
)
#endif
/*
* Tracepoint for kvm interrupt injection:
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_inj_virq, kvm_x86_inj_virq,
TP_PROTO(unsigned int irq),
TP_ARGS(irq),
TP_FIELDS(
ctf_integer(unsigned int, irq, irq)
)
)
/*
* Tracepoint for kvm interrupt injection:
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_inj_exception, kvm_x86_inj_exception,
TP_PROTO(unsigned exception, bool has_error, unsigned error_code),
TP_ARGS(exception, has_error, error_code),
TP_FIELDS(
ctf_integer(u8, exception, exception)
ctf_integer(u8, has_error, has_error)
ctf_integer(u32, error_code, error_code)
)
)
/*
* Tracepoint for page fault.
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_page_fault, kvm_x86_page_fault,
TP_PROTO(unsigned long fault_address, unsigned int error_code),
TP_ARGS(fault_address, error_code),
TP_FIELDS(
ctf_integer(unsigned long, fault_address, fault_address)
ctf_integer(unsigned int, error_code, error_code)
)
)
/*
* Tracepoint for guest MSR access.
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_msr, kvm_x86_msr,
TP_PROTO(unsigned write, u32 ecx, u64 data, bool exception),
TP_ARGS(write, ecx, data, exception),
TP_FIELDS(
ctf_integer(unsigned, write, write)
ctf_integer(u32, ecx, ecx)
ctf_integer(u64, data, data)
ctf_integer(u8, exception, exception)
)
)
#define trace_kvm_msr_read(ecx, data) trace_kvm_msr(0, ecx, data, false)
#define trace_kvm_msr_write(ecx, data) trace_kvm_msr(1, ecx, data, false)
#define trace_kvm_msr_read_ex(ecx) trace_kvm_msr(0, ecx, 0, true)
#define trace_kvm_msr_write_ex(ecx, data) trace_kvm_msr(1, ecx, data, true)
/*
* Tracepoint for guest CR access.
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_cr, kvm_x86_cr,
TP_PROTO(unsigned int rw, unsigned int cr, unsigned long val),
TP_ARGS(rw, cr, val),
TP_FIELDS(
ctf_integer(unsigned int, rw, rw)
ctf_integer(unsigned int, cr, cr)
ctf_integer(unsigned long, val, val)
)
)
#define trace_kvm_cr_read(cr, val) trace_kvm_cr(0, cr, val)
#define trace_kvm_cr_write(cr, val) trace_kvm_cr(1, cr, val)
LTTNG_TRACEPOINT_EVENT_MAP(kvm_pic_set_irq, kvm_x86_pic_set_irq,
TP_PROTO(__u8 chip, __u8 pin, __u8 elcr, __u8 imr, bool coalesced),
TP_ARGS(chip, pin, elcr, imr, coalesced),
TP_FIELDS(
ctf_integer(__u8, chip, chip)
ctf_integer(__u8, pin, pin)
ctf_integer(__u8, elcr, elcr)
ctf_integer(__u8, imr, imr)
ctf_integer(bool, coalesced, coalesced)
)
)
LTTNG_TRACEPOINT_EVENT_MAP(kvm_apic_ipi, kvm_x86_apic_ipi,
TP_PROTO(__u32 icr_low, __u32 dest_id),
TP_ARGS(icr_low, dest_id),
TP_FIELDS(
ctf_integer(__u32, icr_low, icr_low)
ctf_integer(__u32, dest_id, dest_id)
)
)
LTTNG_TRACEPOINT_EVENT_MAP(kvm_apic_accept_irq, kvm_x86_apic_accept_irq,
TP_PROTO(__u32 apicid, __u16 dm, __u8 tm, __u8 vec, bool coalesced),
TP_ARGS(apicid, dm, tm, vec, coalesced),
TP_FIELDS(
ctf_integer(__u32, apicid, apicid)
ctf_integer(__u16, dm, dm)
ctf_integer(__u8, tm, tm)
ctf_integer(__u8, vec, vec)
ctf_integer(bool, coalesced, coalesced)
)
)
LTTNG_TRACEPOINT_EVENT_MAP(kvm_eoi, kvm_x86_eoi,
TP_PROTO(struct kvm_lapic *apic, int vector),
TP_ARGS(apic, vector),
TP_FIELDS(
ctf_integer(__u32, apicid, apic->vcpu->vcpu_id)
ctf_integer(int, vector, vector)
)
)
LTTNG_TRACEPOINT_EVENT_MAP(kvm_pv_eoi, kvm_x86_pv_eoi,
TP_PROTO(struct kvm_lapic *apic, int vector),
TP_ARGS(apic, vector),
TP_FIELDS(
ctf_integer(__u32, apicid, apic->vcpu->vcpu_id)
ctf_integer(int, vector, vector)
)
)
/*
* Tracepoint for nested VMRUN
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_nested_vmrun, kvm_x86_nested_vmrun,
TP_PROTO(__u64 rip, __u64 vmcb, __u64 nested_rip, __u32 int_ctl,
__u32 event_inj, bool npt),
TP_ARGS(rip, vmcb, nested_rip, int_ctl, event_inj, npt),
TP_FIELDS(
ctf_integer(__u64, rip, rip)
ctf_integer(__u64, vmcb, vmcb)
ctf_integer(__u64, nested_rip, nested_rip)
ctf_integer(__u32, int_ctl, int_ctl)
ctf_integer(__u32, event_inj, event_inj)
ctf_integer(bool, npt, npt)
)
)
LTTNG_TRACEPOINT_EVENT_MAP(kvm_nested_intercepts, kvm_x86_nested_intercepts,
TP_PROTO(__u16 cr_read, __u16 cr_write, __u32 exceptions, __u64 intercept),
TP_ARGS(cr_read, cr_write, exceptions, intercept),
TP_FIELDS(
ctf_integer(__u16, cr_read, cr_read)
ctf_integer(__u16, cr_write, cr_write)
ctf_integer(__u32, exceptions, exceptions)
ctf_integer(__u64, intercept, intercept)
)
)
/*
* Tracepoint for #VMEXIT while nested
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_nested_vmexit, kvm_x86_nested_vmexit,
TP_PROTO(__u64 rip, __u32 exit_code,
__u64 exit_info1, __u64 exit_info2,
__u32 exit_int_info, __u32 exit_int_info_err, __u32 isa),
TP_ARGS(rip, exit_code, exit_info1, exit_info2,
exit_int_info, exit_int_info_err, isa),
TP_FIELDS(
ctf_integer(__u64, rip, rip)
ctf_integer(__u32, exit_code, exit_code)
ctf_integer(__u64, exit_info1, exit_info1)
ctf_integer(__u64, exit_info2, exit_info2)
ctf_integer(__u32, exit_int_info, exit_int_info)
ctf_integer(__u32, exit_int_info_err, exit_int_info_err)
ctf_integer(__u32, isa, isa)
)
)
/*
* Tracepoint for #VMEXIT reinjected to the guest
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_nested_vmexit_inject, kvm_x86_nested_vmexit_inject,
TP_PROTO(__u32 exit_code,
__u64 exit_info1, __u64 exit_info2,
__u32 exit_int_info, __u32 exit_int_info_err, __u32 isa),
TP_ARGS(exit_code, exit_info1, exit_info2,
exit_int_info, exit_int_info_err, isa),
TP_FIELDS(
ctf_integer(__u32, exit_code, exit_code)
ctf_integer(__u64, exit_info1, exit_info1)
ctf_integer(__u64, exit_info2, exit_info2)
ctf_integer(__u32, exit_int_info, exit_int_info)
ctf_integer(__u32, exit_int_info_err, exit_int_info_err)
ctf_integer(__u32, isa, isa)
)
)
/*
* Tracepoint for nested #vmexit because of interrupt pending
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_nested_intr_vmexit, kvm_x86_nested_intr_vmexit,
TP_PROTO(__u64 rip),
TP_ARGS(rip),
TP_FIELDS(
ctf_integer(__u64, rip, rip)
)
)
/*
* Tracepoint for nested #vmexit because of interrupt pending
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_invlpga, kvm_x86_invlpga,
TP_PROTO(__u64 rip, int asid, u64 address),
TP_ARGS(rip, asid, address),
TP_FIELDS(
ctf_integer(__u64, rip, rip)
ctf_integer(int, asid, asid)
ctf_integer(__u64, address, address)
)
)
/*
* Tracepoint for nested #vmexit because of interrupt pending
*/
LTTNG_TRACEPOINT_EVENT_MAP(kvm_skinit, kvm_x86_skinit,
TP_PROTO(__u64 rip, __u32 slb),
TP_ARGS(rip, slb),
TP_FIELDS(
ctf_integer(__u64, rip, rip)
ctf_integer(__u32, slb, slb)
)
)
#define KVM_EMUL_INSN_F_CR0_PE (1 << 0)
#define KVM_EMUL_INSN_F_EFL_VM (1 << 1)
#define KVM_EMUL_INSN_F_CS_D (1 << 2)
#define KVM_EMUL_INSN_F_CS_L (1 << 3)
#define kvm_trace_symbol_emul_flags \
{ 0, "real" }, \
{ KVM_EMUL_INSN_F_CR0_PE \
| KVM_EMUL_INSN_F_EFL_VM, "vm16" }, \
{ KVM_EMUL_INSN_F_CR0_PE, "prot16" }, \
{ KVM_EMUL_INSN_F_CR0_PE \
| KVM_EMUL_INSN_F_CS_D, "prot32" }, \
{ KVM_EMUL_INSN_F_CR0_PE \
| KVM_EMUL_INSN_F_CS_L, "prot64" }
#define kei_decode_mode(mode) ({ \
u8 flags = 0xff; \
switch (mode) { \
case X86EMUL_MODE_REAL: \
flags = 0; \
break; \
case X86EMUL_MODE_VM86: \
flags = KVM_EMUL_INSN_F_EFL_VM; \
break; \
case X86EMUL_MODE_PROT16: \
flags = KVM_EMUL_INSN_F_CR0_PE; \
break; \
case X86EMUL_MODE_PROT32: \
flags = KVM_EMUL_INSN_F_CR0_PE \
| KVM_EMUL_INSN_F_CS_D; \
break; \
case X86EMUL_MODE_PROT64: \
flags = KVM_EMUL_INSN_F_CR0_PE \
| KVM_EMUL_INSN_F_CS_L; \
break; \
} \
flags; \
})
LTTNG_TRACEPOINT_EVENT_MAP(kvm_emulate_insn, kvm_x86_emulate_insn,
TP_PROTO(struct kvm_vcpu *vcpu, __u8 failed),
TP_ARGS(vcpu, failed),
TP_FIELDS(
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
ctf_integer(__u64, rip, vcpu->arch.emulate_ctxt.decode.fetch.start)
ctf_integer(__u32, csbase, kvm_x86_ops->get_segment_base(vcpu, VCPU_SREG_CS))
ctf_integer(__u8, len, vcpu->arch.emulate_ctxt.decode.eip
- vcpu->arch.emulate_ctxt.decode.fetch.start)
ctf_array(__u8, insn, vcpu->arch.emulate_ctxt.decode.fetch.data, 15)
ctf_integer(__u8, flags, kei_decode_mode(vcpu->arch.emulate_ctxt.mode))
#elif (LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0))
ctf_integer(__u64, rip, vcpu->arch.emulate_ctxt.fetch.start)
ctf_integer(__u32, csbase, kvm_x86_ops->get_segment_base(vcpu, VCPU_SREG_CS))
ctf_integer(__u8, len, vcpu->arch.emulate_ctxt._eip
- vcpu->arch.emulate_ctxt.fetch.start)
ctf_array(__u8, insn, vcpu->arch.emulate_ctxt.fetch.data, 15)
ctf_integer(__u8, flags, kei_decode_mode(vcpu->arch.emulate_ctxt.mode))
#elif (LINUX_VERSION_CODE < KERNEL_VERSION(5,7,0))
ctf_integer(__u64, rip, vcpu->arch.emulate_ctxt._eip -
(vcpu->arch.emulate_ctxt.fetch.ptr -
vcpu->arch.emulate_ctxt.fetch.data))
ctf_integer(__u32, csbase, kvm_x86_ops->get_segment_base(vcpu, VCPU_SREG_CS))
ctf_integer(__u8, len, vcpu->arch.emulate_ctxt.fetch.ptr -
vcpu->arch.emulate_ctxt.fetch.data)
ctf_array(__u8, insn, vcpu->arch.emulate_ctxt.fetch.data, 15)
ctf_integer(__u8, flags, kei_decode_mode(vcpu->arch.emulate_ctxt.mode))
#else
ctf_integer(__u64, rip, vcpu->arch.emulate_ctxt->_eip -
(vcpu->arch.emulate_ctxt->fetch.ptr -
vcpu->arch.emulate_ctxt->fetch.data))
ctf_integer(__u32, csbase, kvm_x86_ops.get_segment_base(vcpu, VCPU_SREG_CS))
ctf_integer(__u8, len, vcpu->arch.emulate_ctxt->fetch.ptr -
vcpu->arch.emulate_ctxt->fetch.data)
ctf_array(__u8, insn, vcpu->arch.emulate_ctxt->fetch.data, 15)
ctf_integer(__u8, flags, kei_decode_mode(vcpu->arch.emulate_ctxt->mode))
#endif
ctf_integer(__u8, failed, failed)
)
)
#define trace_kvm_emulate_insn_start(vcpu) trace_kvm_emulate_insn(vcpu, 0)
#define trace_kvm_emulate_insn_failed(vcpu) trace_kvm_emulate_insn(vcpu, 1)
LTTNG_TRACEPOINT_EVENT_MAP(
vcpu_match_mmio, kvm_x86_vcpu_match_mmio,
TP_PROTO(gva_t gva, gpa_t gpa, bool write, bool gpa_match),
TP_ARGS(gva, gpa, write, gpa_match),
TP_FIELDS(
ctf_integer(gva_t, gva, gva)
ctf_integer(gpa_t, gpa, gpa)
ctf_integer(bool, write, write)
ctf_integer(bool, gpa_match, gpa_match)
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
LTTNG_TRACEPOINT_EVENT_MAP(kvm_write_tsc_offset, kvm_x86_write_tsc_offset,
TP_PROTO(unsigned int vcpu_id, __u64 previous_tsc_offset,
__u64 next_tsc_offset),
TP_ARGS(vcpu_id, previous_tsc_offset, next_tsc_offset),
TP_FIELDS(
ctf_integer(unsigned int, vcpu_id, vcpu_id)
ctf_integer(__u64, previous_tsc_offset, previous_tsc_offset)
ctf_integer(__u64, next_tsc_offset, next_tsc_offset)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
#ifdef CONFIG_X86_64
LTTNG_TRACEPOINT_EVENT_MAP(kvm_update_master_clock, kvm_x86_update_master_clock,
TP_PROTO(bool use_master_clock, unsigned int host_clock, bool offset_matched),
TP_ARGS(use_master_clock, host_clock, offset_matched),
TP_FIELDS(
ctf_integer(bool, use_master_clock, use_master_clock)
ctf_integer(unsigned int, host_clock, host_clock)
ctf_integer(bool, offset_matched, offset_matched)
)
)
LTTNG_TRACEPOINT_EVENT_MAP(kvm_track_tsc, kvm_x86_track_tsc,
TP_PROTO(unsigned int vcpu_id, unsigned int nr_matched,
unsigned int online_vcpus, bool use_master_clock,
unsigned int host_clock),
TP_ARGS(vcpu_id, nr_matched, online_vcpus, use_master_clock,
host_clock),
TP_FIELDS(
ctf_integer(unsigned int, vcpu_id, vcpu_id)
ctf_integer(unsigned int, nr_vcpus_matched_tsc, nr_matched)
ctf_integer(unsigned int, online_vcpus, online_vcpus)
ctf_integer(bool, use_master_clock, use_master_clock)
ctf_integer(unsigned int, host_clock, host_clock)
)
)
#endif /* CONFIG_X86_64 */
#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0) */
#endif /* LTTNG_TRACE_KVM_H */
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH instrumentation/events/lttng-module/arch/x86/kvm
#undef TRACE_INCLUDE_FILE
#define TRACE_INCLUDE_FILE trace
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,414 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM asoc
#if !defined(LTTNG_TRACE_ASOC_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_ASOC_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/ktime.h>
#include <linux/version.h>
#define DAPM_DIRECT "(direct)"
#ifndef _TRACE_ASOC_DEF
#define _TRACE_ASOC_DEF
struct snd_soc_jack;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0))
struct snd_soc_codec;
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) && \
LINUX_VERSION_CODE < KERNEL_VERSION(3,16,0))
struct snd_soc_platform;
#endif
struct snd_soc_card;
struct snd_soc_dapm_widget;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
struct snd_soc_dapm_path;
#endif
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0) \
|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,514,0,0, 3,11,0,0,0,0))
#define CODEC_NAME_FIELD component.name
#define CODEC_ID_FIELD component.id
#else
#define CODEC_NAME_FIELD name
#define CODEC_ID_FIELD id
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,16,0))
/*
* Log register events
*/
LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_reg,
TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
unsigned int val),
TP_ARGS(codec, reg, val),
TP_FIELDS(
ctf_string(name, codec->CODEC_NAME_FIELD)
ctf_integer(int, id, codec->CODEC_ID_FIELD)
ctf_integer(unsigned int, reg, reg)
ctf_integer(unsigned int, val, val)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_reg, snd_soc_reg_write,
asoc_snd_soc_reg_write,
TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
unsigned int val),
TP_ARGS(codec, reg, val)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_reg, snd_soc_reg_read,
asoc_snd_soc_reg_read,
TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
unsigned int val),
TP_ARGS(codec, reg, val)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) && \
LINUX_VERSION_CODE < KERNEL_VERSION(3,16,0))
LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_preg,
TP_PROTO(struct snd_soc_platform *platform, unsigned int reg,
unsigned int val),
TP_ARGS(platform, reg, val),
TP_FIELDS(
ctf_string(name, platform->CODEC_NAME_FIELD)
ctf_integer(int, id, platform->CODEC_ID_FIELD)
ctf_integer(unsigned int, reg, reg)
ctf_integer(unsigned int, val, val)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_preg, snd_soc_preg_write,
asoc_snd_soc_preg_write,
TP_PROTO(struct snd_soc_platform *platform, unsigned int reg,
unsigned int val),
TP_ARGS(platform, reg, val)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_preg, snd_soc_preg_read,
asoc_snd_soc_preg_read,
TP_PROTO(struct snd_soc_platform *platform, unsigned int reg,
unsigned int val),
TP_ARGS(platform, reg, val)
)
#endif
LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_card,
TP_PROTO(struct snd_soc_card *card, int val),
TP_ARGS(card, val),
TP_FIELDS(
ctf_string(name, card->name)
ctf_integer(int, val, val)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card, snd_soc_bias_level_start,
asoc_snd_soc_bias_level_start,
TP_PROTO(struct snd_soc_card *card, int val),
TP_ARGS(card, val)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card, snd_soc_bias_level_done,
asoc_snd_soc_bias_level_done,
TP_PROTO(struct snd_soc_card *card, int val),
TP_ARGS(card, val)
)
LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic,
TP_PROTO(struct snd_soc_card *card),
TP_ARGS(card),
TP_FIELDS(
ctf_string(name, card->name)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic, snd_soc_dapm_start,
asoc_snd_soc_dapm_start,
TP_PROTO(struct snd_soc_card *card),
TP_ARGS(card)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic, snd_soc_dapm_done,
asoc_snd_soc_dapm_done,
TP_PROTO(struct snd_soc_card *card),
TP_ARGS(card)
)
LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_widget,
TP_PROTO(struct snd_soc_dapm_widget *w, int val),
TP_ARGS(w, val),
TP_FIELDS(
ctf_string(name, w->name)
ctf_integer(int, val, val)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget, snd_soc_dapm_widget_power,
asoc_snd_soc_dapm_widget_power,
TP_PROTO(struct snd_soc_dapm_widget *w, int val),
TP_ARGS(w, val)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget, snd_soc_dapm_widget_event_start,
asoc_snd_soc_dapm_widget_event_start,
TP_PROTO(struct snd_soc_dapm_widget *w, int val),
TP_ARGS(w, val)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget, snd_soc_dapm_widget_event_done,
asoc_snd_soc_dapm_widget_event_done,
TP_PROTO(struct snd_soc_dapm_widget *w, int val),
TP_ARGS(w, val)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_walk_done,
asoc_snd_soc_dapm_walk_done,
TP_PROTO(struct snd_soc_card *card),
TP_ARGS(card),
TP_FIELDS(
ctf_string(name, card->name)
ctf_integer(int, power_checks, card->dapm_stats.power_checks)
ctf_integer(int, path_checks, card->dapm_stats.path_checks)
ctf_integer(int, neighbour_checks, card->dapm_stats.neighbour_checks)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0))
LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_path,
asoc_snd_soc_dapm_path,
TP_PROTO(struct snd_soc_dapm_widget *widget,
enum snd_soc_dapm_direction dir,
struct snd_soc_dapm_path *path),
TP_ARGS(widget, dir, path),
TP_FIELDS(
ctf_string(wname, widget->name)
ctf_string(pname, path->name ? path->name : DAPM_DIRECT)
ctf_string(pnname, path->node[dir]->name)
ctf_integer(int, path_node, (long) path->node[dir])
ctf_integer(int, path_connect, path->connect)
ctf_integer(int, path_dir, dir)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_output_path,
asoc_snd_soc_dapm_output_path,
TP_PROTO(struct snd_soc_dapm_widget *widget,
struct snd_soc_dapm_path *path),
TP_ARGS(widget, path),
TP_FIELDS(
ctf_string(wname, widget->name)
ctf_string(pname, path->name ? path->name : DAPM_DIRECT)
ctf_string(psname, path->sink->name)
ctf_integer(int, path_sink, (long) path->sink)
ctf_integer(int, path_connect, path->connect)
)
)
LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_input_path,
asoc_snd_soc_dapm_input_path,
TP_PROTO(struct snd_soc_dapm_widget *widget,
struct snd_soc_dapm_path *path),
TP_ARGS(widget, path),
TP_FIELDS(
ctf_string(wname, widget->name)
ctf_string(pname,path->name ? path->name : DAPM_DIRECT)
ctf_string(psname, path->source->name)
ctf_integer(int, path_source, (long) path->source)
ctf_integer(int, path_connect, path->connect)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_connected,
asoc_snd_soc_dapm_connected,
TP_PROTO(int paths, int stream),
TP_ARGS(paths, stream),
TP_FIELDS(
ctf_integer(int, paths, paths)
ctf_integer(int, stream, stream)
)
)
#endif
LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_irq,
asoc_snd_soc_jack_irq,
TP_PROTO(const char *name),
TP_ARGS(name),
TP_FIELDS(
ctf_string(name, name)
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_report,
asoc_snd_soc_jack_report,
TP_PROTO(struct snd_soc_jack *jack, int mask, int val),
TP_ARGS(jack, mask, val),
TP_FIELDS(
ctf_string(name, jack->jack->id)
ctf_integer(int, mask, mask)
ctf_integer(int, val, val)
)
)
LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_notify,
asoc_snd_soc_jack_notify,
TP_PROTO(struct snd_soc_jack *jack, int val),
TP_ARGS(jack, val),
TP_FIELDS(
ctf_string(name, jack->jack->id)
ctf_integer(int, val, val)
)
)
#else
LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_report,
asoc_snd_soc_jack_report,
TP_PROTO(struct snd_soc_jack *jack, int mask, int val),
TP_ARGS(jack, mask, val),
TP_FIELDS(
ctf_string(name, jack->jack->name)
ctf_integer(int, mask, mask)
ctf_integer(int, val, val)
)
)
LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_notify,
asoc_snd_soc_jack_notify,
TP_PROTO(struct snd_soc_jack *jack, int val),
TP_ARGS(jack, val),
TP_FIELDS(
ctf_string(name, jack->jack->name)
ctf_integer(int, val, val)
)
)
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0))
LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_cache_sync,
asoc_snd_soc_cache_sync,
TP_PROTO(struct snd_soc_codec *codec, const char *type,
const char *status),
TP_ARGS(codec, type, status),
TP_FIELDS(
ctf_string(name, codec->CODEC_NAME_FIELD)
ctf_string(status, status)
ctf_string(type, type)
ctf_integer(int, id, codec->CODEC_ID_FIELD)
)
)
#endif
#endif /* LTTNG_TRACE_ASOC_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,158 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM compaction
#if !defined(LTTNG_TRACE_COMPACTION_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_COMPACTION_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/types.h>
#include <linux/version.h>
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0)
LTTNG_TRACEPOINT_EVENT_CLASS(compaction_isolate_template,
TP_PROTO(unsigned long start_pfn,
unsigned long end_pfn,
unsigned long nr_scanned,
unsigned long nr_taken),
TP_ARGS(start_pfn, end_pfn, nr_scanned, nr_taken),
TP_FIELDS(
ctf_integer(unsigned long, start_pfn, start_pfn)
ctf_integer(unsigned long, end_pfn, end_pfn)
ctf_integer(unsigned long, nr_scanned, nr_scanned)
ctf_integer(unsigned long, nr_taken, nr_taken)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(compaction_isolate_template,
mm_compaction_isolate_migratepages,
compaction_isolate_migratepages,
TP_PROTO(unsigned long start_pfn,
unsigned long end_pfn,
unsigned long nr_scanned,
unsigned long nr_taken),
TP_ARGS(start_pfn, end_pfn, nr_scanned, nr_taken)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(compaction_isolate_template,
mm_compaction_isolate_freepages,
compaction_isolate_freepages,
TP_PROTO(unsigned long start_pfn,
unsigned long end_pfn,
unsigned long nr_scanned,
unsigned long nr_taken),
TP_ARGS(start_pfn, end_pfn, nr_scanned, nr_taken)
)
#else /* #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0) */
LTTNG_TRACEPOINT_EVENT_CLASS(compaction_isolate_template,
TP_PROTO(unsigned long nr_scanned,
unsigned long nr_taken),
TP_ARGS(nr_scanned, nr_taken),
TP_FIELDS(
ctf_integer(unsigned long, nr_scanned, nr_scanned)
ctf_integer(unsigned long, nr_taken, nr_taken)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(compaction_isolate_template,
mm_compaction_isolate_migratepages,
compaction_isolate_migratepages,
TP_PROTO(unsigned long nr_scanned,
unsigned long nr_taken),
TP_ARGS(nr_scanned, nr_taken)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(compaction_isolate_template,
mm_compaction_isolate_freepages,
compaction_isolate_freepages,
TP_PROTO(unsigned long nr_scanned,
unsigned long nr_taken),
TP_ARGS(nr_scanned, nr_taken)
)
#endif /* #else #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0) */
#if LTTNG_KERNEL_RANGE(3,12,30, 3,13,0) || \
LTTNG_KERNEL_RANGE(3,14,25, 3,15,0) || \
(LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0))
LTTNG_TRACEPOINT_EVENT_CODE_MAP(mm_compaction_migratepages,
compaction_migratepages,
TP_PROTO(unsigned long nr_all,
int migrate_rc,
struct list_head *migratepages),
TP_ARGS(nr_all, migrate_rc, migratepages),
TP_locvar(
unsigned long nr_failed;
),
TP_code_pre(
tp_locvar->nr_failed = 0;
{
struct list_head *page_lru;
if (migrate_rc >= 0)
tp_locvar->nr_failed = migrate_rc;
else
list_for_each(page_lru, migratepages)
tp_locvar->nr_failed++;
}
),
TP_FIELDS(
ctf_integer(unsigned long, nr_migrated, nr_all - tp_locvar->nr_failed)
ctf_integer(unsigned long, nr_failed, tp_locvar->nr_failed)
),
TP_code_post()
)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */
LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages,
compaction_migratepages,
TP_PROTO(unsigned long nr_migrated,
unsigned long nr_failed),
TP_ARGS(nr_migrated, nr_failed),
TP_FIELDS(
ctf_integer(unsigned long, nr_migrated, nr_migrated)
ctf_integer(unsigned long, nr_failed, nr_failed)
)
)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) */
#endif /* LTTNG_TRACE_COMPACTION_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,522 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM ext3
#if !defined(LTTNG_TRACE_EXT3_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_EXT3_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/version.h>
LTTNG_TRACEPOINT_EVENT(ext3_free_inode,
TP_PROTO(struct inode *inode),
TP_ARGS(inode),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(umode_t, mode, inode->i_mode)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
ctf_integer(uid_t, uid, i_uid_read(inode))
ctf_integer(gid_t, gid, i_gid_read(inode))
#else
ctf_integer(uid_t, uid, inode->i_uid)
ctf_integer(gid_t, gid, inode->i_gid)
#endif
ctf_integer(blkcnt_t, blocks, inode->i_blocks)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_request_inode,
TP_PROTO(struct inode *dir, int mode),
TP_ARGS(dir, mode),
TP_FIELDS(
ctf_integer(dev_t, dev, dir->i_sb->s_dev)
ctf_integer(ino_t, dir, dir->i_ino)
ctf_integer(umode_t, mode, mode)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_allocate_inode,
TP_PROTO(struct inode *inode, struct inode *dir, int mode),
TP_ARGS(inode, dir, mode),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(ino_t, dir, dir->i_ino)
ctf_integer(umode_t, mode, mode)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_evict_inode,
TP_PROTO(struct inode *inode),
TP_ARGS(inode),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(int, nlink, inode->i_nlink)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_drop_inode,
TP_PROTO(struct inode *inode, int drop),
TP_ARGS(inode, drop),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(int, drop, drop)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_mark_inode_dirty,
TP_PROTO(struct inode *inode, unsigned long IP),
TP_ARGS(inode, IP),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(unsigned long, ip, IP)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_write_begin,
TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
unsigned int flags),
TP_ARGS(inode, pos, len, flags),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(loff_t, pos, pos)
ctf_integer(unsigned int, len, len)
ctf_integer(unsigned int, flags, flags)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(ext3__write_end,
TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
unsigned int copied),
TP_ARGS(inode, pos, len, copied),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(loff_t, pos, pos)
ctf_integer(unsigned int, len, len)
ctf_integer(unsigned int, copied, copied)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext3__write_end, ext3_ordered_write_end,
TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
unsigned int copied),
TP_ARGS(inode, pos, len, copied)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext3__write_end, ext3_writeback_write_end,
TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
unsigned int copied),
TP_ARGS(inode, pos, len, copied)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext3__write_end, ext3_journalled_write_end,
TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
unsigned int copied),
TP_ARGS(inode, pos, len, copied)
)
LTTNG_TRACEPOINT_EVENT_CLASS(ext3__page_op,
TP_PROTO(struct page *page),
TP_ARGS(page),
TP_FIELDS(
ctf_integer(dev_t, dev, page->mapping->host->i_sb->s_dev)
ctf_integer(ino_t, ino, page->mapping->host->i_ino)
ctf_integer(pgoff_t, index, page->index)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext3__page_op, ext3_ordered_writepage,
TP_PROTO(struct page *page),
TP_ARGS(page)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext3__page_op, ext3_writeback_writepage,
TP_PROTO(struct page *page),
TP_ARGS(page)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext3__page_op, ext3_journalled_writepage,
TP_PROTO(struct page *page),
TP_ARGS(page)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext3__page_op, ext3_readpage,
TP_PROTO(struct page *page),
TP_ARGS(page)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext3__page_op, ext3_releasepage,
TP_PROTO(struct page *page),
TP_ARGS(page)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
LTTNG_TRACEPOINT_EVENT(ext3_invalidatepage,
TP_PROTO(struct page *page, unsigned int offset, unsigned int length),
TP_ARGS(page, offset, length),
TP_FIELDS(
ctf_integer(pgoff_t, index, page->index)
ctf_integer(unsigned int, offset, offset)
ctf_integer(unsigned int, length, length)
ctf_integer(ino_t, ino, page->mapping->host->i_ino)
ctf_integer(dev_t, dev, page->mapping->host->i_sb->s_dev)
)
)
#else
LTTNG_TRACEPOINT_EVENT(ext3_invalidatepage,
TP_PROTO(struct page *page, unsigned long offset),
TP_ARGS(page, offset),
TP_FIELDS(
ctf_integer(pgoff_t, index, page->index)
ctf_integer(unsigned long, offset, offset)
ctf_integer(ino_t, ino, page->mapping->host->i_ino)
ctf_integer(dev_t, dev, page->mapping->host->i_sb->s_dev)
)
)
#endif
LTTNG_TRACEPOINT_EVENT(ext3_discard_blocks,
TP_PROTO(struct super_block *sb, unsigned long blk,
unsigned long count),
TP_ARGS(sb, blk, count),
TP_FIELDS(
ctf_integer(dev_t, dev, sb->s_dev)
ctf_integer(unsigned long, blk, blk)
ctf_integer(unsigned long, count, count)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_request_blocks,
TP_PROTO(struct inode *inode, unsigned long goal,
unsigned long count),
TP_ARGS(inode, goal, count),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(unsigned long, count, count)
ctf_integer(unsigned long, goal, goal)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_allocate_blocks,
TP_PROTO(struct inode *inode, unsigned long goal,
unsigned long count, unsigned long block),
TP_ARGS(inode, goal, count, block),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(unsigned long, block, block)
ctf_integer(unsigned long, count, count)
ctf_integer(unsigned long, goal, goal)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_free_blocks,
TP_PROTO(struct inode *inode, unsigned long block,
unsigned long count),
TP_ARGS(inode, block, count),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(umode_t, mode, inode->i_mode)
ctf_integer(unsigned long, block, block)
ctf_integer(unsigned long, count, count)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_sync_file_enter,
TP_PROTO(struct file *file, int datasync),
TP_ARGS(file, datasync),
TP_FIELDS(
ctf_integer(dev_t, dev, file->f_path.dentry->d_inode->i_sb->s_dev)
ctf_integer(ino_t, ino, file->f_path.dentry->d_inode->i_ino)
ctf_integer(ino_t, parent, file->f_path.dentry->d_parent->d_inode->i_ino)
ctf_integer(int, datasync, datasync)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_sync_file_exit,
TP_PROTO(struct inode *inode, int ret),
TP_ARGS(inode, ret),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(int, ret, ret)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_sync_fs,
TP_PROTO(struct super_block *sb, int wait),
TP_ARGS(sb, wait),
TP_FIELDS(
ctf_integer(dev_t, dev, sb->s_dev)
ctf_integer(int, wait, wait)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_rsv_window_add,
TP_PROTO(struct super_block *sb,
struct ext3_reserve_window_node *rsv_node),
TP_ARGS(sb, rsv_node),
TP_FIELDS(
ctf_integer(unsigned long, start, rsv_node->rsv_window._rsv_start)
ctf_integer(unsigned long, end, rsv_node->rsv_window._rsv_end)
ctf_integer(dev_t, dev, sb->s_dev)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_discard_reservation,
TP_PROTO(struct inode *inode,
struct ext3_reserve_window_node *rsv_node),
TP_ARGS(inode, rsv_node),
TP_FIELDS(
ctf_integer(unsigned long, start, rsv_node->rsv_window._rsv_start)
ctf_integer(unsigned long, end, rsv_node->rsv_window._rsv_end)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_alloc_new_reservation,
TP_PROTO(struct super_block *sb, unsigned long goal),
TP_ARGS(sb, goal),
TP_FIELDS(
ctf_integer(dev_t, dev, sb->s_dev)
ctf_integer(unsigned long, goal, goal)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_reserved,
TP_PROTO(struct super_block *sb, unsigned long block,
struct ext3_reserve_window_node *rsv_node),
TP_ARGS(sb, block, rsv_node),
TP_FIELDS(
ctf_integer(unsigned long, block, block)
ctf_integer(unsigned long, start, rsv_node->rsv_window._rsv_start)
ctf_integer(unsigned long, end, rsv_node->rsv_window._rsv_end)
ctf_integer(dev_t, dev, sb->s_dev)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_forget,
TP_PROTO(struct inode *inode, int is_metadata, unsigned long block),
TP_ARGS(inode, is_metadata, block),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(umode_t, mode, inode->i_mode)
ctf_integer(int, is_metadata, is_metadata)
ctf_integer(unsigned long, block, block)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_read_block_bitmap,
TP_PROTO(struct super_block *sb, unsigned int group),
TP_ARGS(sb, group),
TP_FIELDS(
ctf_integer(dev_t, dev, sb->s_dev)
ctf_integer(__u32, group, group)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_direct_IO_enter,
TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, int rw),
TP_ARGS(inode, offset, len, rw),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(loff_t, pos, offset)
ctf_integer(unsigned long, len, len)
ctf_integer(int, rw, rw)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_direct_IO_exit,
TP_PROTO(struct inode *inode, loff_t offset, unsigned long len,
int rw, int ret),
TP_ARGS(inode, offset, len, rw, ret),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(loff_t, pos, offset)
ctf_integer(unsigned long, len, len)
ctf_integer(int, rw, rw)
ctf_integer(int, ret, ret)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_unlink_enter,
TP_PROTO(struct inode *parent, struct dentry *dentry),
TP_ARGS(parent, dentry),
TP_FIELDS(
ctf_integer(ino_t, parent, parent->i_ino)
ctf_integer(ino_t, ino, dentry->d_inode->i_ino)
ctf_integer(loff_t, size, dentry->d_inode->i_size)
ctf_integer(dev_t, dev, dentry->d_inode->i_sb->s_dev)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_unlink_exit,
TP_PROTO(struct dentry *dentry, int ret),
TP_ARGS(dentry, ret),
TP_FIELDS(
ctf_integer(dev_t, dev, dentry->d_inode->i_sb->s_dev)
ctf_integer(ino_t, ino, dentry->d_inode->i_ino)
ctf_integer(int, ret, ret)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(ext3__truncate,
TP_PROTO(struct inode *inode),
TP_ARGS(inode),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(blkcnt_t, blocks, inode->i_blocks)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext3__truncate, ext3_truncate_enter,
TP_PROTO(struct inode *inode),
TP_ARGS(inode)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(ext3__truncate, ext3_truncate_exit,
TP_PROTO(struct inode *inode),
TP_ARGS(inode)
)
LTTNG_TRACEPOINT_EVENT(ext3_get_blocks_enter,
TP_PROTO(struct inode *inode, unsigned long lblk,
unsigned long len, int create),
TP_ARGS(inode, lblk, len, create),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(unsigned long, lblk, lblk)
ctf_integer(unsigned long, len, len)
ctf_integer(int, create, create)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_get_blocks_exit,
TP_PROTO(struct inode *inode, unsigned long lblk,
unsigned long pblk, unsigned long len, int ret),
TP_ARGS(inode, lblk, pblk, len, ret),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
ctf_integer(unsigned long, lblk, lblk)
ctf_integer(unsigned long, pblk, pblk)
ctf_integer(unsigned long, len, len)
ctf_integer(int, ret, ret)
)
)
LTTNG_TRACEPOINT_EVENT(ext3_load_inode,
TP_PROTO(struct inode *inode),
TP_ARGS(inode),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
)
)
#endif /* LTTNG_TRACE_EXT3_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,39 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM gpio
#if !defined(LTTNG_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_GPIO_H
#include <probes/lttng-tracepoint-event.h>
LTTNG_TRACEPOINT_EVENT(gpio_direction,
TP_PROTO(unsigned gpio, int in, int err),
TP_ARGS(gpio, in, err),
TP_FIELDS(
ctf_integer(unsigned, gpio, gpio)
ctf_integer(int, in, in)
ctf_integer(int, err, err)
)
)
LTTNG_TRACEPOINT_EVENT(gpio_value,
TP_PROTO(unsigned gpio, int get, int value),
TP_ARGS(gpio, get, value),
TP_FIELDS(
ctf_integer(unsigned, gpio, gpio)
ctf_integer(int, get, get)
ctf_integer(int, value, value)
)
)
#endif /* if !defined(LTTNG_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ) */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,120 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM i2c
#if !defined(LTTNG_TRACE_I2C_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_I2C_H
#include <probes/lttng-tracepoint-event.h>
/*
* __i2c_transfer() write request
*/
LTTNG_TRACEPOINT_EVENT_CODE(i2c_write,
TP_PROTO(const struct i2c_adapter *adap, const struct i2c_msg *msg,
int num),
TP_ARGS(adap, msg, num),
TP_locvar(
int extract_sensitive_payload;
),
TP_code_pre(
tp_locvar->extract_sensitive_payload =
LTTNG_READ_ONCE(extract_sensitive_payload);
),
TP_FIELDS(
ctf_integer(int, adapter_nr, adap->nr)
ctf_integer(__u16, msg_nr, num)
ctf_integer(__u16, addr, msg->addr)
ctf_integer(__u16, flags, msg->flags)
ctf_integer(__u16, len, msg->len)
ctf_sequence_hex(__u8, buf,
tp_locvar->extract_sensitive_payload ?
msg->buf : NULL,
__u16,
tp_locvar->extract_sensitive_payload ?
msg->len : 0)
),
TP_code_post()
)
/*
* __i2c_transfer() read request
*/
LTTNG_TRACEPOINT_EVENT(i2c_read,
TP_PROTO(const struct i2c_adapter *adap, const struct i2c_msg *msg,
int num),
TP_ARGS(adap, msg, num),
TP_FIELDS(
ctf_integer(int, adapter_nr, adap->nr)
ctf_integer(__u16, msg_nr, num)
ctf_integer(__u16, addr, msg->addr)
ctf_integer(__u16, flags, msg->flags)
ctf_integer(__u16, len, msg->len)
)
)
/*
* __i2c_transfer() read reply
*/
LTTNG_TRACEPOINT_EVENT_CODE(i2c_reply,
TP_PROTO(const struct i2c_adapter *adap, const struct i2c_msg *msg,
int num),
TP_ARGS(adap, msg, num),
TP_locvar(
int extract_sensitive_payload;
),
TP_code_pre(
tp_locvar->extract_sensitive_payload =
LTTNG_READ_ONCE(extract_sensitive_payload);
),
TP_FIELDS(
ctf_integer(int, adapter_nr, adap->nr)
ctf_integer(__u16, msg_nr, num)
ctf_integer(__u16, addr, msg->addr)
ctf_integer(__u16, flags, msg->flags)
ctf_integer(__u16, len, msg->len)
ctf_sequence_hex(__u8, buf,
tp_locvar->extract_sensitive_payload ?
msg->buf : NULL,
__u16,
tp_locvar->extract_sensitive_payload ?
msg->len : 0)
),
TP_code_post()
)
/*
* __i2c_transfer() result
*/
LTTNG_TRACEPOINT_EVENT(i2c_result,
TP_PROTO(const struct i2c_adapter *adap, int num, int ret),
TP_ARGS(adap, num, ret),
TP_FIELDS(
ctf_integer(int, adapter_nr, adap->nr)
ctf_integer(__u16, nr_msgs, num)
ctf_integer(__s16, ret, ret)
)
)
#endif /* LTTNG_TRACE_I2C_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,190 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM irq
#if !defined(LTTNG_TRACE_IRQ_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_IRQ_H
#include <probes/lttng-tracepoint-event.h>
#ifndef _TRACE_IRQ_DEF_
#define _TRACE_IRQ_DEF_
struct irqaction;
struct softirq_action;
#endif /* _TRACE_IRQ_DEF_ */
/**
* irq_handler_entry - called immediately before the irq action handler
* @irq: irq number
* @action: pointer to struct irqaction
*
* The struct irqaction pointed to by @action contains various
* information about the handler, including the device name,
* @action->name, and the device id, @action->dev_id. When used in
* conjunction with the irq_handler_exit tracepoint, we can figure
* out irq handler latencies.
*/
LTTNG_TRACEPOINT_EVENT(irq_handler_entry,
TP_PROTO(int irq, struct irqaction *action),
TP_ARGS(irq, action),
TP_FIELDS(
ctf_integer(int, irq, irq)
ctf_string(name, action->name)
)
)
/**
* irq_handler_exit - called immediately after the irq action handler returns
* @irq: irq number
* @action: pointer to struct irqaction
* @ret: return value
*
* If the @ret value is set to IRQ_HANDLED, then we know that the corresponding
* @action->handler scuccessully handled this irq. Otherwise, the irq might be
* a shared irq line, or the irq was not handled successfully. Can be used in
* conjunction with the irq_handler_entry to understand irq handler latencies.
*/
LTTNG_TRACEPOINT_EVENT(irq_handler_exit,
TP_PROTO(int irq, struct irqaction *action, int ret),
TP_ARGS(irq, action, ret),
TP_FIELDS(
ctf_integer(int, irq, irq)
ctf_integer(int, ret, ret)
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
LTTNG_TRACEPOINT_EVENT_CLASS(irq_softirq,
TP_PROTO(unsigned int vec_nr),
TP_ARGS(vec_nr),
TP_FIELDS(
ctf_integer(unsigned int, vec, vec_nr)
)
)
/**
* softirq_entry - called immediately before the softirq handler
* @vec_nr: softirq vector number
*
* When used in combination with the softirq_exit tracepoint
* we can determine the softirq handler runtine.
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(irq_softirq, softirq_entry,
irq_softirq_entry,
TP_PROTO(unsigned int vec_nr),
TP_ARGS(vec_nr)
)
/**
* softirq_exit - called immediately after the softirq handler returns
* @vec_nr: softirq vector number
*
* When used in combination with the softirq_entry tracepoint
* we can determine the softirq handler runtine.
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(irq_softirq, softirq_exit,
irq_softirq_exit,
TP_PROTO(unsigned int vec_nr),
TP_ARGS(vec_nr)
)
/**
* softirq_raise - called immediately when a softirq is raised
* @vec_nr: softirq vector number
*
* When used in combination with the softirq_entry tracepoint
* we can determine the softirq raise to run latency.
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(irq_softirq, softirq_raise,
irq_softirq_raise,
TP_PROTO(unsigned int vec_nr),
TP_ARGS(vec_nr)
)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) */
LTTNG_TRACEPOINT_EVENT_CLASS(irq_softirq,
TP_PROTO(struct softirq_action *h, struct softirq_action *vec),
TP_ARGS(h, vec),
TP_FIELDS(
ctf_integer(unsigned int, vec, (int)(h - vec))
)
)
/**
* softirq_entry - called immediately before the softirq handler
* @h: pointer to struct softirq_action
* @vec: pointer to first struct softirq_action in softirq_vec array
*
* When used in combination with the softirq_exit tracepoint
* we can determine the softirq handler runtine.
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(irq_softirq, softirq_entry,
irq_softirq_entry,
TP_PROTO(struct softirq_action *h, struct softirq_action *vec),
TP_ARGS(h, vec)
)
/**
* softirq_exit - called immediately after the softirq handler returns
* @h: pointer to struct softirq_action
* @vec: pointer to first struct softirq_action in softirq_vec array
*
* When used in combination with the softirq_entry tracepoint
* we can determine the softirq handler runtine.
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(irq_softirq, softirq_exit,
irq_softirq_exit,
TP_PROTO(struct softirq_action *h, struct softirq_action *vec),
TP_ARGS(h, vec)
)
/**
* softirq_raise - called immediately when a softirq is raised
* @h: pointer to struct softirq_action
* @vec: pointer to first struct softirq_action in softirq_vec array
*
* When used in combination with the softirq_entry tracepoint
* we can determine the softirq raise to run latency.
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(irq_softirq, softirq_raise,
irq_softirq_raise,
TP_PROTO(struct softirq_action *h, struct softirq_action *vec),
TP_ARGS(h, vec)
)
#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) */
#endif /* LTTNG_TRACE_IRQ_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,157 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM jbd
#if !defined(LTTNG_TRACE_JBD_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_JBD_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/jbd.h>
#include <linux/version.h>
LTTNG_TRACEPOINT_EVENT(jbd_checkpoint,
TP_PROTO(journal_t *journal, int result),
TP_ARGS(journal, result),
TP_FIELDS(
ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
ctf_integer(int, result, result)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(jbd_commit,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction),
TP_FIELDS(
ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
#endif
ctf_integer(int, transaction, commit_transaction->t_tid)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd_commit, jbd_start_commit,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd_commit, jbd_commit_locking,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd_commit, jbd_commit_flushing,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd_commit, jbd_commit_logging,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction)
)
LTTNG_TRACEPOINT_EVENT(jbd_drop_transaction,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction),
TP_FIELDS(
ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
#endif
ctf_integer(int, transaction, commit_transaction->t_tid)
)
)
LTTNG_TRACEPOINT_EVENT(jbd_end_commit,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction),
TP_FIELDS(
ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
#endif
ctf_integer(int, transaction, commit_transaction->t_tid)
ctf_integer(int, head, journal->j_tail_sequence)
)
)
LTTNG_TRACEPOINT_EVENT(jbd_do_submit_data,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction),
TP_FIELDS(
ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
#endif
ctf_integer(int, transaction, commit_transaction->t_tid)
)
)
LTTNG_TRACEPOINT_EVENT(jbd_cleanup_journal_tail,
TP_PROTO(journal_t *journal, tid_t first_tid,
unsigned long block_nr, unsigned long freed),
TP_ARGS(journal, first_tid, block_nr, freed),
TP_FIELDS(
ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
ctf_integer(tid_t, tail_sequence, journal->j_tail_sequence)
ctf_integer(tid_t, first_tid, first_tid)
ctf_integer(unsigned long, block_nr, block_nr)
ctf_integer(unsigned long, freed, freed)
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
LTTNG_TRACEPOINT_EVENT_MAP(journal_write_superblock,
jbd_journal_write_superblock,
TP_PROTO(journal_t *journal, int write_op),
TP_ARGS(journal, write_op),
TP_FIELDS(
ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
ctf_integer(int, write_op, write_op)
)
)
#else
LTTNG_TRACEPOINT_EVENT(jbd_update_superblock_end,
TP_PROTO(journal_t *journal, int wait),
TP_ARGS(journal, wait),
TP_FIELDS(
ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
ctf_integer(int, wait, wait)
)
)
#endif
#endif /* LTTNG_TRACE_JBD_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,183 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM jbd2
#if !defined(LTTNG_TRACE_JBD2_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_JBD2_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/jbd2.h>
#include <linux/version.h>
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
#ifndef _TRACE_JBD2_DEF
#define _TRACE_JBD2_DEF
struct transaction_chp_stats_s;
struct transaction_run_stats_s;
#endif
#endif
LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint,
TP_PROTO(journal_t *journal, int result),
TP_ARGS(journal, result),
TP_FIELDS(
ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
ctf_integer(int, result, result)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction),
TP_FIELDS(
ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
ctf_integer(int, transaction, commit_transaction->t_tid)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_start_commit,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_commit_locking,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_commit_flushing,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_commit_logging,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_drop_transaction,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction)
)
#endif
LTTNG_TRACEPOINT_EVENT(jbd2_end_commit,
TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
TP_ARGS(journal, commit_transaction),
TP_FIELDS(
ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
ctf_integer(int, transaction, commit_transaction->t_tid)
ctf_integer(int, head, journal->j_tail_sequence)
)
)
LTTNG_TRACEPOINT_EVENT(jbd2_submit_inode_data,
TP_PROTO(struct inode *inode),
TP_ARGS(inode),
TP_FIELDS(
ctf_integer(dev_t, dev, inode->i_sb->s_dev)
ctf_integer(ino_t, ino, inode->i_ino)
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
TP_PROTO(dev_t dev, unsigned long tid,
struct transaction_run_stats_s *stats),
TP_ARGS(dev, tid, stats),
TP_FIELDS(
ctf_integer(dev_t, dev, dev)
ctf_integer(unsigned long, tid, tid)
ctf_integer(unsigned long, wait, stats->rs_wait)
ctf_integer(unsigned long, running, stats->rs_running)
ctf_integer(unsigned long, locked, stats->rs_locked)
ctf_integer(unsigned long, flushing, stats->rs_flushing)
ctf_integer(unsigned long, logging, stats->rs_logging)
ctf_integer(__u32, handle_count, stats->rs_handle_count)
ctf_integer(__u32, blocks, stats->rs_blocks)
ctf_integer(__u32, blocks_logged, stats->rs_blocks_logged)
)
)
LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats,
TP_PROTO(dev_t dev, unsigned long tid,
struct transaction_chp_stats_s *stats),
TP_ARGS(dev, tid, stats),
TP_FIELDS(
ctf_integer(dev_t, dev, dev)
ctf_integer(unsigned long, tid, tid)
ctf_integer(unsigned long, chp_time, stats->cs_chp_time)
ctf_integer(__u32, forced_to_close, stats->cs_forced_to_close)
ctf_integer(__u32, written, stats->cs_written)
ctf_integer(__u32, dropped, stats->cs_dropped)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
LTTNG_TRACEPOINT_EVENT(jbd2_update_log_tail,
#else
LTTNG_TRACEPOINT_EVENT(jbd2_cleanup_journal_tail,
#endif
TP_PROTO(journal_t *journal, tid_t first_tid,
unsigned long block_nr, unsigned long freed),
TP_ARGS(journal, first_tid, block_nr, freed),
TP_FIELDS(
ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
ctf_integer(tid_t, tail_sequence, journal->j_tail_sequence)
ctf_integer(tid_t, first_tid, first_tid)
ctf_integer(unsigned long, block_nr, block_nr)
ctf_integer(unsigned long, freed, freed)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
LTTNG_TRACEPOINT_EVENT(jbd2_write_superblock,
TP_PROTO(journal_t *journal, int write_op),
TP_ARGS(journal, write_op),
TP_FIELDS(
ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
ctf_integer(int, write_op, write_op)
)
)
#endif
#endif /* LTTNG_TRACE_JBD2_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,345 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM kmem
#if !defined(LTTNG_TRACE_KMEM_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_KMEM_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/types.h>
#include <linux/version.h>
LTTNG_TRACEPOINT_EVENT_CLASS(kmem_alloc,
TP_PROTO(unsigned long call_site,
const void *ptr,
size_t bytes_req,
size_t bytes_alloc,
gfp_t gfp_flags),
TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags),
TP_FIELDS(
ctf_integer_hex(unsigned long, call_site, call_site)
ctf_integer_hex(const void *, ptr, ptr)
ctf_integer(size_t, bytes_req, bytes_req)
ctf_integer(size_t, bytes_alloc, bytes_alloc)
ctf_integer(gfp_t, gfp_flags, gfp_flags)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_alloc, kmalloc,
kmem_kmalloc,
TP_PROTO(unsigned long call_site, const void *ptr,
size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags),
TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_alloc, kmem_cache_alloc,
TP_PROTO(unsigned long call_site, const void *ptr,
size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags),
TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags)
)
LTTNG_TRACEPOINT_EVENT_CLASS(kmem_alloc_node,
TP_PROTO(unsigned long call_site,
const void *ptr,
size_t bytes_req,
size_t bytes_alloc,
gfp_t gfp_flags,
int node),
TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node),
TP_FIELDS(
ctf_integer_hex(unsigned long, call_site, call_site)
ctf_integer_hex(const void *, ptr, ptr)
ctf_integer(size_t, bytes_req, bytes_req)
ctf_integer(size_t, bytes_alloc, bytes_alloc)
ctf_integer(gfp_t, gfp_flags, gfp_flags)
ctf_integer(int, node, node)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_alloc_node, kmalloc_node,
kmem_kmalloc_node,
TP_PROTO(unsigned long call_site, const void *ptr,
size_t bytes_req, size_t bytes_alloc,
gfp_t gfp_flags, int node),
TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_alloc_node, kmem_cache_alloc_node,
TP_PROTO(unsigned long call_site, const void *ptr,
size_t bytes_req, size_t bytes_alloc,
gfp_t gfp_flags, int node),
TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node)
)
LTTNG_TRACEPOINT_EVENT_CLASS(kmem_free,
TP_PROTO(unsigned long call_site, const void *ptr),
TP_ARGS(call_site, ptr),
TP_FIELDS(
ctf_integer_hex(unsigned long, call_site, call_site)
ctf_integer_hex(const void *, ptr, ptr)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_free, kfree,
kmem_kfree,
TP_PROTO(unsigned long call_site, const void *ptr),
TP_ARGS(call_site, ptr)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_free, kmem_cache_free,
TP_PROTO(unsigned long call_site, const void *ptr),
TP_ARGS(call_site, ptr)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
LTTNG_TRACEPOINT_EVENT_MAP(mm_page_free, kmem_mm_page_free,
#else
LTTNG_TRACEPOINT_EVENT_MAP(mm_page_free_direct, kmem_mm_page_free_direct,
#endif
TP_PROTO(struct page *page, unsigned int order),
TP_ARGS(page, order),
TP_FIELDS(
ctf_integer_hex(struct page *, page, page)
ctf_integer(unsigned long, pfn, page_to_pfn(page))
ctf_integer(unsigned int, order, order)
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
LTTNG_TRACEPOINT_EVENT_MAP(mm_page_free_batched, kmem_mm_page_free_batched,
TP_PROTO(struct page *page),
TP_ARGS(page),
TP_FIELDS(
ctf_integer_hex(struct page *, page, page)
ctf_integer(unsigned long, pfn, page_to_pfn(page))
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
LTTNG_TRACEPOINT_EVENT_MAP(mm_page_free_batched, kmem_mm_page_free_batched,
TP_PROTO(struct page *page, int cold),
TP_ARGS(page, cold),
TP_FIELDS(
ctf_integer_hex(struct page *, page, page)
ctf_integer(unsigned long, pfn, page_to_pfn(page))
ctf_integer(int, cold, cold)
)
)
#else
LTTNG_TRACEPOINT_EVENT_MAP(mm_pagevec_free, kmem_pagevec_free,
TP_PROTO(struct page *page, int cold),
TP_ARGS(page, cold),
TP_FIELDS(
ctf_integer_hex(struct page *, page, page)
ctf_integer(unsigned long, pfn, page_to_pfn(page))
ctf_integer(int, cold, cold)
)
)
#endif
LTTNG_TRACEPOINT_EVENT_MAP(mm_page_alloc, kmem_mm_page_alloc,
TP_PROTO(struct page *page, unsigned int order,
gfp_t gfp_flags, int migratetype),
TP_ARGS(page, order, gfp_flags, migratetype),
TP_FIELDS(
ctf_integer_hex(struct page *, page, page)
ctf_integer(unsigned long, pfn,
page ? page_to_pfn(page) : -1UL)
ctf_integer(unsigned int, order, order)
ctf_integer(gfp_t, gfp_flags, gfp_flags)
ctf_integer(int, migratetype, migratetype)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(kmem_mm_page,
TP_PROTO(struct page *page, unsigned int order, int migratetype),
TP_ARGS(page, order, migratetype),
TP_FIELDS(
ctf_integer_hex(struct page *, page, page)
ctf_integer(unsigned long, pfn,
page ? page_to_pfn(page) : -1UL)
ctf_integer(unsigned int, order, order)
ctf_integer(int, migratetype, migratetype)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_mm_page, mm_page_alloc_zone_locked,
kmem_mm_page_alloc_zone_locked,
TP_PROTO(struct page *page, unsigned int order, int migratetype),
TP_ARGS(page, order, migratetype)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_mm_page, mm_page_pcpu_drain,
kmem_mm_page_pcpu_drain,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
TP_PROTO(struct page *page, unsigned int order, int migratetype),
#else
TP_PROTO(struct page *page, int order, int migratetype),
#endif
TP_ARGS(page, order, migratetype)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,2) \
|| LTTNG_KERNEL_RANGE(3,14,36, 3,15,0) \
|| LTTNG_KERNEL_RANGE(3,16,35, 3,17,0) \
|| LTTNG_KERNEL_RANGE(3,18,10, 3,19,0) \
|| LTTNG_DEBIAN_KERNEL_RANGE(3,16,7,9,0,0, 3,17,0,0,0,0) \
|| LTTNG_UBUNTU_KERNEL_RANGE(3,13,11,50, 3,14,0,0) \
|| LTTNG_UBUNTU_KERNEL_RANGE(3,16,7,34, 3,17,0,0))
LTTNG_TRACEPOINT_EVENT_MAP(mm_page_alloc_extfrag,
kmem_mm_page_alloc_extfrag,
TP_PROTO(struct page *page,
int alloc_order, int fallback_order,
int alloc_migratetype, int fallback_migratetype),
TP_ARGS(page,
alloc_order, fallback_order,
alloc_migratetype, fallback_migratetype),
TP_FIELDS(
ctf_integer_hex(struct page *, page, page)
ctf_integer(unsigned long, pfn, page_to_pfn(page))
ctf_integer(int, alloc_order, alloc_order)
ctf_integer(int, fallback_order, fallback_order)
ctf_integer(int, alloc_migratetype, alloc_migratetype)
ctf_integer(int, fallback_migratetype, fallback_migratetype)
ctf_integer(int, change_ownership,
(alloc_migratetype == get_pageblock_migratetype(page)))
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,30))
LTTNG_TRACEPOINT_EVENT_MAP(mm_page_alloc_extfrag,
kmem_mm_page_alloc_extfrag,
TP_PROTO(struct page *page,
int alloc_order, int fallback_order,
int alloc_migratetype, int fallback_migratetype, int new_migratetype),
TP_ARGS(page,
alloc_order, fallback_order,
alloc_migratetype, fallback_migratetype, new_migratetype),
TP_FIELDS(
ctf_integer_hex(struct page *, page, page)
ctf_integer(unsigned long, pfn, page_to_pfn(page))
ctf_integer(int, alloc_order, alloc_order)
ctf_integer(int, fallback_order, fallback_order)
ctf_integer(int, alloc_migratetype, alloc_migratetype)
ctf_integer(int, fallback_migratetype, fallback_migratetype)
ctf_integer(int, change_ownership, (new_migratetype == alloc_migratetype))
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
LTTNG_TRACEPOINT_EVENT_MAP(mm_page_alloc_extfrag,
kmem_mm_page_alloc_extfrag,
TP_PROTO(struct page *page,
int alloc_order, int fallback_order,
int alloc_migratetype, int fallback_migratetype,
int change_ownership),
TP_ARGS(page,
alloc_order, fallback_order,
alloc_migratetype, fallback_migratetype,
change_ownership),
TP_FIELDS(
ctf_integer_hex(struct page *, page, page)
ctf_integer(unsigned long, pfn, page_to_pfn(page))
ctf_integer(int, alloc_order, alloc_order)
ctf_integer(int, fallback_order, fallback_order)
ctf_integer(int, alloc_migratetype, alloc_migratetype)
ctf_integer(int, fallback_migratetype, fallback_migratetype)
ctf_integer(int, change_ownership, change_ownership)
)
)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
LTTNG_TRACEPOINT_EVENT_MAP(mm_page_alloc_extfrag,
kmem_mm_page_alloc_extfrag,
TP_PROTO(struct page *page,
int alloc_order, int fallback_order,
int alloc_migratetype, int fallback_migratetype),
TP_ARGS(page,
alloc_order, fallback_order,
alloc_migratetype, fallback_migratetype),
TP_FIELDS(
ctf_integer_hex(struct page *, page, page)
ctf_integer(unsigned long, pfn, page_to_pfn(page))
ctf_integer(int, alloc_order, alloc_order)
ctf_integer(int, fallback_order, fallback_order)
ctf_integer(int, alloc_migratetype, alloc_migratetype)
ctf_integer(int, fallback_migratetype, fallback_migratetype)
)
)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
#endif
#endif /* LTTNG_TRACE_KMEM_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,284 @@
/* SPDX-License-Identifier: GPL-2.0 */
#if !defined(LTTNG_TRACE_KVM_MAIN_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_KVM_MAIN_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/version.h>
#undef TRACE_SYSTEM
#define TRACE_SYSTEM kvm
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
LTTNG_TRACEPOINT_EVENT(kvm_userspace_exit,
TP_PROTO(__u32 reason, int errno),
TP_ARGS(reason, errno),
TP_FIELDS(
ctf_integer(__u32, reason, reason)
ctf_integer(int, errno, errno)
)
)
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
#if defined(__KVM_HAVE_IOAPIC)
#undef __KVM_HAVE_IRQ_LINE
#define __KVM_HAVE_IRQ_LINE
#endif
#endif
#if defined(__KVM_HAVE_IRQ_LINE)
LTTNG_TRACEPOINT_EVENT(kvm_set_irq,
TP_PROTO(unsigned int gsi, int level, int irq_source_id),
TP_ARGS(gsi, level, irq_source_id),
TP_FIELDS(
ctf_integer(unsigned int, gsi, gsi)
ctf_integer(int, level, level)
ctf_integer(int, irq_source_id, irq_source_id)
)
)
#endif
#if defined(__KVM_HAVE_IOAPIC)
LTTNG_TRACEPOINT_EVENT(kvm_ioapic_set_irq,
TP_PROTO(__u64 e, int pin, bool coalesced),
TP_ARGS(e, pin, coalesced),
TP_FIELDS(
ctf_integer(__u64, e, e)
ctf_integer(int, pin, pin)
ctf_integer(bool, coalesced, coalesced)
)
)
LTTNG_TRACEPOINT_EVENT(kvm_msi_set_irq,
TP_PROTO(__u64 address, __u64 data),
TP_ARGS(address, data),
TP_FIELDS(
ctf_integer(__u64, address, address)
ctf_integer(__u64, data, data)
)
)
LTTNG_TRACEPOINT_EVENT(kvm_ack_irq,
TP_PROTO(unsigned int irqchip, unsigned int pin),
TP_ARGS(irqchip, pin),
TP_FIELDS(
ctf_integer(unsigned int, irqchip, irqchip)
ctf_integer(unsigned int, pin, pin)
)
)
#endif /* defined(__KVM_HAVE_IOAPIC) */
#define KVM_TRACE_MMIO_READ_UNSATISFIED 0
#define KVM_TRACE_MMIO_READ 1
#define KVM_TRACE_MMIO_WRITE 2
#define kvm_trace_symbol_mmio \
{ KVM_TRACE_MMIO_READ_UNSATISFIED, "unsatisfied-read" }, \
{ KVM_TRACE_MMIO_READ, "read" }, \
{ KVM_TRACE_MMIO_WRITE, "write" }
#if (LTTNG_SLE_KERNEL_RANGE(4,4,121,92,92,0, 4,4,122,0,0,0) \
|| LTTNG_SLE_KERNEL_RANGE(4,4,131,94,0,0, 4,5,0,0,0,0))
LTTNG_TRACEPOINT_EVENT(kvm_mmio,
TP_PROTO(int type, int len, u64 gpa, u64 val),
TP_ARGS(type, len, gpa, val),
TP_FIELDS(
ctf_integer(u32, type, type)
ctf_integer(u32, len, len)
ctf_integer(u64, gpa, gpa)
ctf_integer(u64, val, val)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0) \
|| LTTNG_KERNEL_RANGE(4,14,14, 4,15,0) \
|| LTTNG_DEBIAN_KERNEL_RANGE(4,14,13,0,1,0, 4,15,0,0,0,0) \
|| LTTNG_KERNEL_RANGE(4,9,77, 4,10,0) \
|| LTTNG_KERNEL_RANGE(4,4,112, 4,5,0) \
|| LTTNG_KERNEL_RANGE(4,1,50, 4,2,0) \
|| LTTNG_KERNEL_RANGE(3,16,52, 3,17,0) \
|| LTTNG_UBUNTU_KERNEL_RANGE(3,13,11,144, 3,14,0,0) \
|| LTTNG_KERNEL_RANGE(3,2,97, 3,3,0) \
|| LTTNG_UBUNTU_KERNEL_RANGE(4,13,16,38, 4,14,0,0) \
|| LTTNG_DEBIAN_KERNEL_RANGE(4,9,65,0,3,0, 4,10,0,0,0,0) \
|| LTTNG_FEDORA_KERNEL_RANGE(4,14,13,300, 4,15,0,0))
LTTNG_TRACEPOINT_EVENT(kvm_mmio,
TP_PROTO(int type, int len, u64 gpa, void *val),
TP_ARGS(type, len, gpa, val),
TP_FIELDS(
ctf_integer(u32, type, type)
ctf_integer(u32, len, len)
ctf_integer(u64, gpa, gpa)
ctf_sequence_hex(unsigned char, val, val, u32, len)
)
)
#else
LTTNG_TRACEPOINT_EVENT(kvm_mmio,
TP_PROTO(int type, int len, u64 gpa, u64 val),
TP_ARGS(type, len, gpa, val),
TP_FIELDS(
ctf_integer(u32, type, type)
ctf_integer(u32, len, len)
ctf_integer(u64, gpa, gpa)
ctf_integer(u64, val, val)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
#define kvm_fpu_load_symbol \
{0, "unload"}, \
{1, "load"}
LTTNG_TRACEPOINT_EVENT(kvm_fpu,
TP_PROTO(int load),
TP_ARGS(load),
TP_FIELDS(
ctf_integer(u32, load, load)
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0) \
|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,327,0,0, 3,11,0,0,0,0))
LTTNG_TRACEPOINT_EVENT(kvm_age_page,
TP_PROTO(ulong gfn, int level, struct kvm_memory_slot *slot, int ref),
TP_ARGS(gfn, level, slot, ref),
TP_FIELDS(
ctf_integer(u64, hva,
((gfn - slot->base_gfn) << PAGE_SHIFT) + slot->userspace_addr)
ctf_integer(u64, gfn, gfn)
ctf_integer(u8, level, level)
ctf_integer(u8, referenced, ref)
)
)
#else
LTTNG_TRACEPOINT_EVENT(kvm_age_page,
TP_PROTO(ulong hva, struct kvm_memory_slot *slot, int ref),
TP_ARGS(hva, slot, ref),
TP_FIELDS(
ctf_integer(u64, hva, hva)
ctf_integer(u64, gfn,
slot->base_gfn + ((hva - slot->userspace_addr) >> PAGE_SHIFT))
ctf_integer(u8, referenced, ref)
)
)
#endif
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
#ifdef CONFIG_KVM_ASYNC_PF
LTTNG_TRACEPOINT_EVENT_CLASS(kvm_async_get_page_class,
TP_PROTO(u64 gva, u64 gfn),
TP_ARGS(gva, gfn),
TP_FIELDS(
ctf_integer(__u64, gva, gva)
ctf_integer(u64, gfn, gfn)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_async_get_page_class, kvm_try_async_get_page,
TP_PROTO(u64 gva, u64 gfn),
TP_ARGS(gva, gfn)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_async_get_page_class, kvm_async_pf_doublefault,
TP_PROTO(u64 gva, u64 gfn),
TP_ARGS(gva, gfn)
)
LTTNG_TRACEPOINT_EVENT_CLASS(kvm_async_pf_nopresent_ready,
TP_PROTO(u64 token, u64 gva),
TP_ARGS(token, gva),
TP_FIELDS(
ctf_integer(__u64, token, token)
ctf_integer(__u64, gva, gva)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_async_pf_nopresent_ready, kvm_async_pf_not_present,
TP_PROTO(u64 token, u64 gva),
TP_ARGS(token, gva)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_async_pf_nopresent_ready, kvm_async_pf_ready,
TP_PROTO(u64 token, u64 gva),
TP_ARGS(token, gva)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0) \
|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,229,0,0, 3,11,0,0,0,0))
LTTNG_TRACEPOINT_EVENT(
kvm_async_pf_completed,
TP_PROTO(unsigned long address, u64 gva),
TP_ARGS(address, gva),
TP_FIELDS(
ctf_integer(unsigned long, address, address)
ctf_integer(u64, gva, gva)
)
)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0)) */
LTTNG_TRACEPOINT_EVENT(
kvm_async_pf_completed,
TP_PROTO(unsigned long address, struct page *page, u64 gva),
TP_ARGS(address, page, gva),
TP_FIELDS(
ctf_integer(unsigned long, address, address)
ctf_integer(pfn_t, pfn, page ? page_to_pfn(page) : 0)
ctf_integer(u64, gva, gva)
)
)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0)) */
#endif
#endif
#endif /* LTTNG_TRACE_KVM_MAIN_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,138 @@
/* SPDX-License-Identifier: GPL-2.0 */
#include <linux/version.h>
#undef TRACE_SYSTEM
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
#define TRACE_SYSTEM lock
#else
#define TRACE_SYSTEM lockdep
#define TRACE_INCLUDE_FILE lock
#if defined(_TRACE_LOCKDEP_H)
#define LTTNG_TRACE_LOCK_H
#endif
#endif
#if !defined(LTTNG_TRACE_LOCK_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_LOCK_H
#include <linux/lockdep.h>
#include <probes/lttng-tracepoint-event.h>
#ifdef CONFIG_LOCKDEP
LTTNG_TRACEPOINT_EVENT(lock_acquire,
TP_PROTO(struct lockdep_map *lock, unsigned int subclass,
int trylock, int read, int check,
struct lockdep_map *next_lock, unsigned long ip),
TP_ARGS(lock, subclass, trylock, read, check, next_lock, ip),
TP_FIELDS(
ctf_integer(unsigned int, flags, (trylock ? 1 : 0) | (read ? 2 : 0))
ctf_string(name, lock->name)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
ctf_integer_hex(void *, lockdep_addr, lock)
#endif
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
LTTNG_TRACEPOINT_EVENT_CLASS(lock,
TP_PROTO(struct lockdep_map *lock, unsigned long ip),
TP_ARGS(lock, ip),
TP_FIELDS(
ctf_string(name, lock->name)
ctf_integer_hex(void *, lockdep_addr, lock)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(lock, lock_release,
TP_PROTO(struct lockdep_map *lock, unsigned long ip),
TP_ARGS(lock, ip)
)
#ifdef CONFIG_LOCK_STAT
LTTNG_TRACEPOINT_EVENT_INSTANCE(lock, lock_contended,
TP_PROTO(struct lockdep_map *lock, unsigned long ip),
TP_ARGS(lock, ip)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(lock, lock_acquired,
TP_PROTO(struct lockdep_map *lock, unsigned long ip),
TP_ARGS(lock, ip)
)
#endif
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
LTTNG_TRACEPOINT_EVENT(lock_release,
TP_PROTO(struct lockdep_map *lock, int nested, unsigned long ip),
TP_ARGS(lock, nested, ip),
TP_FIELDS(
ctf_string(name, lock->name)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
ctf_integer_hex(void *, lockdep_addr, lock)
#endif
)
)
#ifdef CONFIG_LOCK_STAT
LTTNG_TRACEPOINT_EVENT(lock_contended,
TP_PROTO(struct lockdep_map *lock, unsigned long ip),
TP_ARGS(lock, ip),
TP_FIELDS(
ctf_string(name, lock->name)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
ctf_integer_hex(void *, lockdep_addr, lock)
#endif
)
)
LTTNG_TRACEPOINT_EVENT(lock_acquired,
TP_PROTO(struct lockdep_map *lock, unsigned long ip, s64 waittime),
TP_ARGS(lock, ip, waittime),
TP_FIELDS(
ctf_string(name, lock->name)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
ctf_integer(s64, wait_nsec, wait_nsec)
ctf_integer_hex(void *, lockdep_addr, lock)
#else
ctf_integer(unsigned long, wait_usec, (unsigned long) waittime)
ctf_integer(unsigned long, wait_nsec_rem, do_div(waittime, NSEC_PER_USEC))
#endif
)
)
#endif
#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
#endif
#endif /* LTTNG_TRACE_LOCK_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,145 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM lttng_statedump
#if !defined(LTTNG_TRACE_LTTNG_STATEDUMP_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_LTTNG_STATEDUMP_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/nsproxy.h>
#include <linux/pid_namespace.h>
#include <linux/types.h>
#include <linux/version.h>
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0))
#define lttng_proc_inum ns.inum
#else
#define lttng_proc_inum proc_inum
#endif
LTTNG_TRACEPOINT_EVENT(lttng_statedump_start,
TP_PROTO(struct lttng_session *session),
TP_ARGS(session),
TP_FIELDS()
)
LTTNG_TRACEPOINT_EVENT(lttng_statedump_end,
TP_PROTO(struct lttng_session *session),
TP_ARGS(session),
TP_FIELDS()
)
LTTNG_TRACEPOINT_EVENT(lttng_statedump_process_state,
TP_PROTO(struct lttng_session *session,
struct task_struct *p,
int type, int mode, int submode, int status,
struct pid_namespace *pid_ns),
TP_ARGS(session, p, type, mode, submode, status, pid_ns),
TP_FIELDS(
ctf_integer(pid_t, tid, p->pid)
ctf_integer(pid_t, vtid, pid_ns ? task_pid_nr_ns(p, pid_ns) : 0)
ctf_integer(pid_t, pid, p->tgid)
ctf_integer(pid_t, vpid, pid_ns ? task_tgid_nr_ns(p, pid_ns) : 0)
ctf_integer(pid_t, ppid,
({
pid_t ret;
rcu_read_lock();
ret = task_tgid_nr(p->real_parent);
rcu_read_unlock();
ret;
}))
ctf_integer(pid_t, vppid,
({
struct task_struct *parent;
pid_t ret = 0;
if (pid_ns) {
rcu_read_lock();
parent = rcu_dereference(p->real_parent);
ret = task_tgid_nr_ns(parent, pid_ns);
rcu_read_unlock();
}
ret;
}))
ctf_array_text(char, name, p->comm, TASK_COMM_LEN)
ctf_integer(int, type, type)
ctf_integer(int, mode, mode)
ctf_integer(int, submode, submode)
ctf_integer(int, status, status)
ctf_integer(int, ns_level, pid_ns ? pid_ns->level : 0)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
ctf_integer(unsigned int, ns_inum, pid_ns ? pid_ns->lttng_proc_inum : 0)
#endif
ctf_integer(unsigned int, cpu, task_cpu(p))
)
)
LTTNG_TRACEPOINT_EVENT(lttng_statedump_file_descriptor,
TP_PROTO(struct lttng_session *session,
struct task_struct *p, int fd, const char *filename,
unsigned int flags, fmode_t fmode),
TP_ARGS(session, p, fd, filename, flags, fmode),
TP_FIELDS(
ctf_integer(pid_t, pid, p->tgid)
ctf_integer(int, fd, fd)
ctf_integer_oct(unsigned int, flags, flags)
ctf_integer_hex(fmode_t, fmode, fmode)
ctf_string(filename, filename)
)
)
LTTNG_TRACEPOINT_EVENT(lttng_statedump_vm_map,
TP_PROTO(struct lttng_session *session,
struct task_struct *p, struct vm_area_struct *map,
unsigned long inode),
TP_ARGS(session, p, map, inode),
TP_FIELDS(
ctf_integer(pid_t, pid, p->tgid)
ctf_integer_hex(unsigned long, start, map->vm_start)
ctf_integer_hex(unsigned long, end, map->vm_end)
ctf_integer_hex(unsigned long, flags, map->vm_flags)
ctf_integer(unsigned long, inode, inode)
ctf_integer(unsigned long, pgoff, map->vm_pgoff << PAGE_SHIFT)
)
)
LTTNG_TRACEPOINT_EVENT(lttng_statedump_network_interface,
TP_PROTO(struct lttng_session *session,
struct net_device *dev, struct in_ifaddr *ifa),
TP_ARGS(session, dev, ifa),
TP_FIELDS(
ctf_string(name, dev->name)
ctf_integer_network_hex(uint32_t, address_ipv4,
ifa ? ifa->ifa_address : 0U)
)
)
LTTNG_TRACEPOINT_EVENT(lttng_statedump_block_device,
TP_PROTO(struct lttng_session *session,
dev_t dev, const char *diskname),
TP_ARGS(session, dev, diskname),
TP_FIELDS(
ctf_integer(dev_t, dev, dev)
ctf_string(diskname, diskname)
)
)
/* Called with desc->lock held */
LTTNG_TRACEPOINT_EVENT(lttng_statedump_interrupt,
TP_PROTO(struct lttng_session *session,
unsigned int irq, const char *chip_name,
struct irqaction *action),
TP_ARGS(session, irq, chip_name, action),
TP_FIELDS(
ctf_integer(unsigned int, irq, irq)
ctf_string(name, chip_name)
ctf_string(action, action->name ? : "")
)
)
#endif /* LTTNG_TRACE_LTTNG_STATEDUMP_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,58 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM lttng_test
#if !defined(LTTNG_TRACE_LTTNG_TEST_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_LTTNG_TEST_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/types.h>
#include <linux/version.h>
LTTNG_TRACEPOINT_ENUM(
lttng_test_filter_event_enum,
TP_ENUM_VALUES(
ctf_enum_auto("AUTO: EXPECT 0")
ctf_enum_value("VALUE: 23", 23)
ctf_enum_value("VALUE: 27", 27)
ctf_enum_auto("AUTO: EXPECT 28")
ctf_enum_range("RANGE: 101 TO 303", 101, 303)
ctf_enum_auto("AUTO: EXPECT 304")
)
)
LTTNG_TRACEPOINT_EVENT(lttng_test_filter_event,
TP_PROTO(int anint, int netint, long *values,
char *text, size_t textlen,
char *etext, uint32_t * net_values),
TP_ARGS(anint, netint, values, text, textlen, etext, net_values),
TP_FIELDS(
ctf_integer(int, intfield, anint)
ctf_integer_hex(int, intfield2, anint)
ctf_integer(long, longfield, anint)
ctf_integer_network(int, netintfield, netint)
ctf_integer_network_hex(int, netintfieldhex, netint)
ctf_array(long, arrfield1, values, 3)
ctf_array_text(char, arrfield2, text, 10)
ctf_array_network(uint32_t, arrfield3, net_values, 3)
ctf_sequence(char, seqfield1, text, size_t, textlen)
ctf_sequence_text(char, seqfield2, text, size_t, textlen)
ctf_sequence_network(uint32_t, seqfield3, net_values, size_t, 3)
ctf_sequence(long, seqfield4, values, size_t, 3)
ctf_string(stringfield, text)
ctf_string(stringfield2, etext)
ctf_sequence_bitfield(long, bitfield_seq, values, uint8_t, 3)
ctf_array_bitfield(long, bitfield_array, values, 3)
ctf_enum(lttng_test_filter_event_enum, int, enum0, 0)
ctf_enum(lttng_test_filter_event_enum, int, enum23, 23)
ctf_enum(lttng_test_filter_event_enum, int, enum27, 27)
ctf_enum(lttng_test_filter_event_enum, int, enum28, 28)
ctf_enum(lttng_test_filter_event_enum, int, enum202, 202)
ctf_enum(lttng_test_filter_event_enum, int, enum304, 304)
)
)
#endif /* LTTNG_TRACE_LTTNG_TEST_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,21 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM lttng
#if !defined(LTTNG_TRACE_LTTNG_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_LTTNG_H
#include <probes/lttng-tracepoint-event.h>
LTTNG_TRACEPOINT_EVENT(lttng_logger,
TP_PROTO(const char __user *text, size_t len),
TP_ARGS(text, len),
TP_FIELDS(
ctf_user_sequence_text(char, msg, text, size_t, len)
)
)
#endif /* LTTNG_TRACE_LTTNG_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,825 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM mm_vmscan
#if !defined(LTTNG_TRACE_MM_VMSCAN_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_MM_VMSCAN_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/types.h>
#include <linux/mm.h>
#include <linux/memcontrol.h>
#include <linux/version.h>
#ifndef _TRACE_VMSCAN_DEF
#define _TRACE_VMSCAN_DEF
#define RECLAIM_WB_ANON 0x0001u
#define RECLAIM_WB_FILE 0x0002u
#define RECLAIM_WB_MIXED 0x0010u
#define RECLAIM_WB_SYNC 0x0004u /* Unused, all reclaim async */
#define RECLAIM_WB_ASYNC 0x0008u
#if ((LINUX_VERSION_CODE <= KERNEL_VERSION(3,0,38)) || \
LTTNG_KERNEL_RANGE(3,1,0, 3,2,0))
typedef int isolate_mode_t;
#endif
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,2,0))
#include <linux/mm_inline.h>
#define trace_reclaim_flags(file) ( \
(file ? RECLAIM_WB_FILE : RECLAIM_WB_ANON) | \
(RECLAIM_WB_ASYNC) \
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0))
#include <linux/mm_inline.h>
#define trace_reclaim_flags(page) ( \
(page_is_file_cache(page) ? RECLAIM_WB_FILE : RECLAIM_WB_ANON) | \
(RECLAIM_WB_ASYNC) \
)
#define trace_shrink_flags(file) \
( \
(file ? RECLAIM_WB_FILE : RECLAIM_WB_ANON) | \
(RECLAIM_WB_ASYNC) \
)
#endif
LTTNG_TRACEPOINT_EVENT(mm_vmscan_kswapd_sleep,
TP_PROTO(int nid),
TP_ARGS(nid),
TP_FIELDS(
ctf_integer(int, nid, nid)
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
LTTNG_TRACEPOINT_EVENT(mm_vmscan_kswapd_wake,
TP_PROTO(int nid, int zid, int order),
TP_ARGS(nid, zid, order),
TP_FIELDS(
ctf_integer(int, nid, nid)
ctf_integer(int, zid, zid)
ctf_integer(int, order, order)
)
)
#else
LTTNG_TRACEPOINT_EVENT(mm_vmscan_kswapd_wake,
TP_PROTO(int nid, int order),
TP_ARGS(nid, order),
TP_FIELDS(
ctf_integer(int, nid, nid)
ctf_integer(int, order, order)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
LTTNG_TRACEPOINT_EVENT(mm_vmscan_wakeup_kswapd,
TP_PROTO(int nid, int zid, int order, gfp_t gfp_flags),
TP_ARGS(nid, zid, order, gfp_flags),
TP_FIELDS(
ctf_integer(int, nid, nid)
ctf_integer(int, zid, zid)
ctf_integer(int, order, order)
ctf_integer(gfp_t, gfp_flags, gfp_flags)
)
)
#else
LTTNG_TRACEPOINT_EVENT(mm_vmscan_wakeup_kswapd,
TP_PROTO(int nid, int zid, int order),
TP_ARGS(nid, zid, order),
TP_FIELDS(
ctf_integer(int, nid, nid)
ctf_integer(int, zid, zid)
ctf_integer(int, order, order)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,2,0))
LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template,
TP_PROTO(int order, gfp_t gfp_flags),
TP_ARGS(order, gfp_flags),
TP_FIELDS(
ctf_integer(int, order, order)
ctf_integer(gfp_t, gfp_flags, gfp_flags)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_direct_reclaim_begin,
TP_PROTO(int order, gfp_t gfp_flags),
TP_ARGS(order, gfp_flags)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_reclaim_begin,
TP_PROTO(int order, gfp_t gfp_flags),
TP_ARGS(order, gfp_flags)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_softlimit_reclaim_begin,
TP_PROTO(int order, gfp_t gfp_flags),
TP_ARGS(order, gfp_flags)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template,
TP_PROTO(int order, int may_writepage, gfp_t gfp_flags, int classzone_idx),
TP_ARGS(order, may_writepage, gfp_flags, classzone_idx),
TP_FIELDS(
ctf_integer(int, order, order)
ctf_integer(int, may_writepage, may_writepage)
ctf_integer(gfp_t, gfp_flags, gfp_flags)
ctf_integer(int, classzone_idx, classzone_idx)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_direct_reclaim_begin,
TP_PROTO(int order, int may_writepage, gfp_t gfp_flags, int classzone_idx),
TP_ARGS(order, may_writepage, gfp_flags, classzone_idx)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_reclaim_begin,
TP_PROTO(int order, int may_writepage, gfp_t gfp_flags, int classzone_idx),
TP_ARGS(order, may_writepage, gfp_flags, classzone_idx)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_softlimit_reclaim_begin,
TP_PROTO(int order, int may_writepage, gfp_t gfp_flags, int classzone_idx),
TP_ARGS(order, may_writepage, gfp_flags, classzone_idx)
)
#else
LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template,
TP_PROTO(int order, int may_writepage, gfp_t gfp_flags),
TP_ARGS(order, may_writepage, gfp_flags),
TP_FIELDS(
ctf_integer(int, order, order)
ctf_integer(int, may_writepage, may_writepage)
ctf_integer(gfp_t, gfp_flags, gfp_flags)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_direct_reclaim_begin,
TP_PROTO(int order, int may_writepage, gfp_t gfp_flags),
TP_ARGS(order, may_writepage, gfp_flags)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_reclaim_begin,
TP_PROTO(int order, int may_writepage, gfp_t gfp_flags),
TP_ARGS(order, may_writepage, gfp_flags)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_softlimit_reclaim_begin,
TP_PROTO(int order, int may_writepage, gfp_t gfp_flags),
TP_ARGS(order, may_writepage, gfp_flags)
)
#endif
LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_direct_reclaim_end_template,
TP_PROTO(unsigned long nr_reclaimed),
TP_ARGS(nr_reclaimed),
TP_FIELDS(
ctf_integer(unsigned long, nr_reclaimed, nr_reclaimed)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_end_template, mm_vmscan_direct_reclaim_end,
TP_PROTO(unsigned long nr_reclaimed),
TP_ARGS(nr_reclaimed)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_end_template, mm_vmscan_memcg_reclaim_end,
TP_PROTO(unsigned long nr_reclaimed),
TP_ARGS(nr_reclaimed)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_end_template, mm_vmscan_memcg_softlimit_reclaim_end,
TP_PROTO(unsigned long nr_reclaimed),
TP_ARGS(nr_reclaimed)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,16,0))
LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_start,
mm_vmscan_shrink_slab_start,
TP_PROTO(struct shrinker *shr, struct shrink_control *sc,
long nr_objects_to_shrink, unsigned long cache_items,
unsigned long long delta, unsigned long total_scan,
int priority),
TP_ARGS(shr, sc, nr_objects_to_shrink, cache_items, delta, total_scan,
priority),
TP_FIELDS(
ctf_integer_hex(struct shrinker *, shr, shr)
ctf_integer_hex(void *, shrink, shr->scan_objects)
ctf_integer(int, nid, sc->nid)
ctf_integer(long, nr_objects_to_shrink, nr_objects_to_shrink)
ctf_integer(gfp_t, gfp_flags, sc->gfp_mask)
ctf_integer(unsigned long, cache_items, cache_items)
ctf_integer(unsigned long long, delta, delta)
ctf_integer(unsigned long, total_scan, total_scan)
ctf_integer(int, priority, priority)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_start,
mm_vmscan_shrink_slab_start,
TP_PROTO(struct shrinker *shr, struct shrink_control *sc,
long nr_objects_to_shrink, unsigned long pgs_scanned,
unsigned long lru_pgs, unsigned long cache_items,
unsigned long long delta, unsigned long total_scan),
TP_ARGS(shr, sc, nr_objects_to_shrink, pgs_scanned, lru_pgs,
cache_items, delta, total_scan),
TP_FIELDS(
ctf_integer_hex(struct shrinker *, shr, shr)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
ctf_integer_hex(void *, shrink, shr->scan_objects)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
ctf_integer_hex(void *, shrink, shr->shrink)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
ctf_integer(long, nr_objects_to_shrink, nr_objects_to_shrink)
ctf_integer(gfp_t, gfp_flags, sc->gfp_mask)
ctf_integer(unsigned long, pgs_scanned, pgs_scanned)
ctf_integer(unsigned long, lru_pgs, lru_pgs)
ctf_integer(unsigned long, cache_items, cache_items)
ctf_integer(unsigned long long, delta, delta)
ctf_integer(unsigned long, total_scan, total_scan)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0))
LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_end,
mm_vmscan_shrink_slab_end,
TP_PROTO(struct shrinker *shr, int nid, int shrinker_retval,
long unused_scan_cnt, long new_scan_cnt, long total_scan),
TP_ARGS(shr, nid, shrinker_retval, unused_scan_cnt, new_scan_cnt,
total_scan),
TP_FIELDS(
ctf_integer_hex(struct shrinker *, shr, shr)
ctf_integer(int, nid, nid)
ctf_integer_hex(void *, shrink, shr->scan_objects)
ctf_integer(long, unused_scan, unused_scan_cnt)
ctf_integer(long, new_scan, new_scan_cnt)
ctf_integer(int, retval, shrinker_retval)
ctf_integer(long, total_scan, total_scan)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_end,
mm_vmscan_shrink_slab_end,
TP_PROTO(struct shrinker *shr, int shrinker_retval,
long unused_scan_cnt, long new_scan_cnt),
TP_ARGS(shr, shrinker_retval, unused_scan_cnt, new_scan_cnt),
TP_FIELDS(
ctf_integer_hex(struct shrinker *, shr, shr)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
ctf_integer_hex(void *, shrink, shr->scan_objects)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
ctf_integer_hex(void *, shrink, shr->shrink)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
ctf_integer(long, unused_scan, unused_scan_cnt)
ctf_integer(long, new_scan, new_scan_cnt)
ctf_integer(int, retval, shrinker_retval)
ctf_integer(long, total_scan, new_scan_cnt - unused_scan_cnt)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_isolate,
TP_PROTO(int classzone_idx,
int order,
unsigned long nr_requested,
unsigned long nr_scanned,
unsigned long nr_skipped,
unsigned long nr_taken,
isolate_mode_t isolate_mode,
int lru
),
TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_skipped,
nr_taken, isolate_mode, lru
),
TP_FIELDS(
ctf_integer(int, classzone_idx, classzone_idx)
ctf_integer(int, order, order)
ctf_integer(unsigned long, nr_requested, nr_requested)
ctf_integer(unsigned long, nr_scanned, nr_scanned)
ctf_integer(unsigned long, nr_skipped, nr_skipped)
ctf_integer(unsigned long, nr_taken, nr_taken)
ctf_integer(isolate_mode_t, isolate_mode, isolate_mode)
ctf_integer(int, lru, lru)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_lru_isolate_template,
TP_PROTO(int classzone_idx,
int order,
unsigned long nr_requested,
unsigned long nr_scanned,
unsigned long nr_taken,
isolate_mode_t isolate_mode,
int file
),
TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_taken,
isolate_mode, file
),
TP_FIELDS(
ctf_integer(int, classzone_idx, classzone_idx)
ctf_integer(int, order, order)
ctf_integer(unsigned long, nr_requested, nr_requested)
ctf_integer(unsigned long, nr_scanned, nr_scanned)
ctf_integer(unsigned long, nr_taken, nr_taken)
ctf_integer(isolate_mode_t, isolate_mode, isolate_mode)
ctf_integer(int, file, file)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template, mm_vmscan_lru_isolate,
TP_PROTO(int classzone_idx,
int order,
unsigned long nr_requested,
unsigned long nr_scanned,
unsigned long nr_taken,
isolate_mode_t isolate_mode,
int file
),
TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_taken,
isolate_mode, file
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template, mm_vmscan_memcg_isolate,
TP_PROTO(int classzone_idx,
int order,
unsigned long nr_requested,
unsigned long nr_scanned,
unsigned long nr_taken,
isolate_mode_t isolate_mode,
int file
),
TP_ARGS(classzone_idx, order, nr_requested, nr_scanned, nr_taken,
isolate_mode, file
)
)
#else
LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_lru_isolate_template,
TP_PROTO(int order,
unsigned long nr_requested,
unsigned long nr_scanned,
unsigned long nr_taken,
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
unsigned long nr_lumpy_taken,
unsigned long nr_lumpy_dirty,
unsigned long nr_lumpy_failed,
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))
isolate_mode_t isolate_mode
#else
isolate_mode_t isolate_mode,
int file
#endif
),
TP_ARGS(order, nr_requested, nr_scanned, nr_taken,
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed,
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))
isolate_mode
#else
isolate_mode, file
#endif
),
TP_FIELDS(
ctf_integer(int, order, order)
ctf_integer(unsigned long, nr_requested, nr_requested)
ctf_integer(unsigned long, nr_scanned, nr_scanned)
ctf_integer(unsigned long, nr_taken, nr_taken)
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
ctf_integer(unsigned long, nr_lumpy_taken, nr_lumpy_taken)
ctf_integer(unsigned long, nr_lumpy_dirty, nr_lumpy_dirty)
ctf_integer(unsigned long, nr_lumpy_failed, nr_lumpy_failed)
#endif
ctf_integer(isolate_mode_t, isolate_mode, isolate_mode)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
ctf_integer(int, file, file)
#endif
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template, mm_vmscan_lru_isolate,
TP_PROTO(int order,
unsigned long nr_requested,
unsigned long nr_scanned,
unsigned long nr_taken,
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
unsigned long nr_lumpy_taken,
unsigned long nr_lumpy_dirty,
unsigned long nr_lumpy_failed,
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))
isolate_mode_t isolate_mode
#else
isolate_mode_t isolate_mode,
int file
#endif
),
TP_ARGS(order, nr_requested, nr_scanned, nr_taken,
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed,
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))
isolate_mode
#else
isolate_mode, file
#endif
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template, mm_vmscan_memcg_isolate,
TP_PROTO(int order,
unsigned long nr_requested,
unsigned long nr_scanned,
unsigned long nr_taken,
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
unsigned long nr_lumpy_taken,
unsigned long nr_lumpy_dirty,
unsigned long nr_lumpy_failed,
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))
isolate_mode_t isolate_mode
#else
isolate_mode_t isolate_mode,
int file
#endif
),
TP_ARGS(order, nr_requested, nr_scanned, nr_taken,
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed,
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))
isolate_mode
#else
isolate_mode, file
#endif
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0))
LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage,
TP_PROTO(struct page *page),
TP_ARGS(page),
TP_FIELDS(
ctf_integer_hex(struct page *, page, page)
ctf_integer(int, reclaim_flags, trace_reclaim_flags(
page_is_file_lru(page)))
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,2,0))
LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage,
TP_PROTO(struct page *page),
TP_ARGS(page),
TP_FIELDS(
ctf_integer_hex(struct page *, page, page)
ctf_integer(int, reclaim_flags, trace_reclaim_flags(
page_is_file_cache(page)))
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0))
LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage,
TP_PROTO(struct page *page),
TP_ARGS(page),
TP_FIELDS(
ctf_integer_hex(struct page *, page, page)
ctf_integer(int, reclaim_flags, trace_reclaim_flags(page))
)
)
#else
LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage,
TP_PROTO(struct page *page,
int reclaim_flags),
TP_ARGS(page, reclaim_flags),
TP_FIELDS(
ctf_integer_hex(struct page *, page, page)
ctf_integer(int, reclaim_flags, reclaim_flags)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,2,0))
LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
TP_PROTO(int nid,
unsigned long nr_scanned, unsigned long nr_reclaimed,
struct reclaim_stat *stat, int priority, int file),
TP_ARGS(nid, nr_scanned, nr_reclaimed, stat, priority, file),
TP_FIELDS(
ctf_integer(int, nid, nid)
ctf_integer(unsigned long, nr_scanned, nr_scanned)
ctf_integer(unsigned long, nr_reclaimed, nr_reclaimed)
ctf_integer(unsigned long, nr_dirty, stat->nr_dirty)
ctf_integer(unsigned long, nr_writeback, stat->nr_writeback)
ctf_integer(unsigned long, nr_congested, stat->nr_congested)
ctf_integer(unsigned long, nr_immediate, stat->nr_immediate)
ctf_integer(unsigned long, nr_activate_anon, stat->nr_activate[0])
ctf_integer(unsigned long, nr_activate_file, stat->nr_activate[1])
ctf_integer(unsigned long, nr_ref_keep, stat->nr_ref_keep)
ctf_integer(unsigned long, nr_unmap_fail, stat->nr_unmap_fail)
ctf_integer(int, priority, priority)
ctf_integer(int, reclaim_flags, trace_reclaim_flags(file))
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
TP_PROTO(int nid,
unsigned long nr_scanned, unsigned long nr_reclaimed,
struct reclaim_stat *stat, int priority, int file),
TP_ARGS(nid, nr_scanned, nr_reclaimed, stat, priority, file),
TP_FIELDS(
ctf_integer(int, nid, nid)
ctf_integer(unsigned long, nr_scanned, nr_scanned)
ctf_integer(unsigned long, nr_reclaimed, nr_reclaimed)
ctf_integer(unsigned long, nr_dirty, stat->nr_dirty)
ctf_integer(unsigned long, nr_writeback, stat->nr_writeback)
ctf_integer(unsigned long, nr_congested, stat->nr_congested)
ctf_integer(unsigned long, nr_immediate, stat->nr_immediate)
ctf_integer(unsigned long, nr_activate, stat->nr_activate)
ctf_integer(unsigned long, nr_ref_keep, stat->nr_ref_keep)
ctf_integer(unsigned long, nr_unmap_fail, stat->nr_unmap_fail)
ctf_integer(int, priority, priority)
ctf_integer(int, reclaim_flags, trace_shrink_flags(file))
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
TP_PROTO(int nid,
unsigned long nr_scanned, unsigned long nr_reclaimed,
unsigned long nr_dirty, unsigned long nr_writeback,
unsigned long nr_congested, unsigned long nr_immediate,
unsigned long nr_activate, unsigned long nr_ref_keep,
unsigned long nr_unmap_fail,
int priority, int file),
TP_ARGS(nid, nr_scanned, nr_reclaimed, nr_dirty, nr_writeback,
nr_congested, nr_immediate, nr_activate, nr_ref_keep,
nr_unmap_fail, priority, file),
TP_FIELDS(
ctf_integer(int, nid, nid)
ctf_integer(unsigned long, nr_scanned, nr_scanned)
ctf_integer(unsigned long, nr_reclaimed, nr_reclaimed)
ctf_integer(unsigned long, nr_dirty, nr_dirty)
ctf_integer(unsigned long, nr_writeback, nr_writeback)
ctf_integer(unsigned long, nr_congested, nr_congested)
ctf_integer(unsigned long, nr_immediate, nr_immediate)
ctf_integer(unsigned long, nr_activate, nr_activate)
ctf_integer(unsigned long, nr_ref_keep, nr_ref_keep)
ctf_integer(unsigned long, nr_unmap_fail, nr_unmap_fail)
ctf_integer(int, priority, priority)
ctf_integer(int, reclaim_flags, trace_shrink_flags(file))
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
TP_PROTO(int nid,
unsigned long nr_scanned, unsigned long nr_reclaimed,
int priority, int file),
TP_ARGS(nid, nr_scanned, nr_reclaimed, priority, file),
TP_FIELDS(
ctf_integer(int, nid, nid)
ctf_integer(unsigned long, nr_scanned, nr_scanned)
ctf_integer(unsigned long, nr_reclaimed, nr_reclaimed)
ctf_integer(int, priority, priority)
ctf_integer(int, reclaim_flags, trace_shrink_flags(file))
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0))
LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
TP_PROTO(struct zone *zone,
unsigned long nr_scanned, unsigned long nr_reclaimed,
int priority, int file),
TP_ARGS(zone, nr_scanned, nr_reclaimed, priority, file),
TP_FIELDS(
ctf_integer(int, nid, zone_to_nid(zone))
ctf_integer(int, zid, zone_idx(zone))
ctf_integer(unsigned long, nr_scanned, nr_scanned)
ctf_integer(unsigned long, nr_reclaimed, nr_reclaimed)
ctf_integer(int, priority, priority)
ctf_integer(int, reclaim_flags, trace_shrink_flags(file))
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive,
TP_PROTO(int nid, int zid,
unsigned long nr_scanned, unsigned long nr_reclaimed,
int priority, int reclaim_flags),
TP_ARGS(nid, zid, nr_scanned, nr_reclaimed, priority, reclaim_flags),
TP_FIELDS(
ctf_integer(int, nid, nid)
ctf_integer(int, zid, zid)
ctf_integer(unsigned long, nr_scanned, nr_scanned)
ctf_integer(unsigned long, nr_reclaimed, nr_reclaimed)
ctf_integer(int, priority, priority)
ctf_integer(int, reclaim_flags, reclaim_flags)
)
)
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
LTTNG_TRACEPOINT_EVENT_MAP(replace_swap_token,
mm_vmscan_replace_swap_token,
TP_PROTO(struct mm_struct *old_mm,
struct mm_struct *new_mm),
TP_ARGS(old_mm, new_mm),
TP_FIELDS(
ctf_integer_hex(struct mm_struct *, old_mm, old_mm)
ctf_integer(unsigned int, old_prio, old_mm ? old_mm->token_priority : 0)
ctf_integer_hex(struct mm_struct *, new_mm, new_mm)
ctf_integer(unsigned int, new_prio, new_mm->token_priority)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_put_swap_token_template,
TP_PROTO(struct mm_struct *swap_token_mm),
TP_ARGS(swap_token_mm),
TP_FIELDS(
ctf_integer_hex(struct mm_struct*, swap_token_mm, swap_token_mm)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(mm_vmscan_put_swap_token_template, put_swap_token,
mm_vmscan_put_swap_token,
TP_PROTO(struct mm_struct *swap_token_mm),
TP_ARGS(swap_token_mm)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(mm_vmscan_put_swap_token_template, disable_swap_token,
mm_vmscan_disable_swap_token,
TP_PROTO(struct mm_struct *swap_token_mm),
TP_ARGS(swap_token_mm)
)
LTTNG_TRACEPOINT_EVENT_MAP(update_swap_token_priority,
mm_vmscan_update_swap_token_priority,
TP_PROTO(struct mm_struct *mm,
unsigned int old_prio,
struct mm_struct *swap_token_mm),
TP_ARGS(mm, old_prio, swap_token_mm),
TP_FIELDS(
ctf_integer_hex(struct mm_struct *, mm, mm)
ctf_integer(unsigned int, old_prio, old_prio)
ctf_integer(unsigned int, new_prio, mm->token_priority)
ctf_integer_hex(struct mm_struct *, swap_token_mm, swap_token_mm)
ctf_integer(unsigned int, swap_token_prio, swap_token_mm ? swap_token_mm->token_priority : 0)
)
)
#endif
#endif /* LTTNG_TRACE_MM_VMSCAN_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,125 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Because linux/module.h has tracepoints in the header, and ftrace.h
* eventually includes this file, define_trace.h includes linux/module.h
* But we do not want the module.h to override the TRACE_SYSTEM macro
* variable that define_trace.h is processing, so we only set it
* when module events are being processed, which would happen when
* CREATE_TRACE_POINTS is defined.
*/
#ifdef CREATE_TRACE_POINTS
#undef TRACE_SYSTEM
#define TRACE_SYSTEM module
#endif
#if !defined(LTTNG_TRACE_MODULE_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_MODULE_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/version.h>
#ifdef CONFIG_MODULES
#ifndef _TRACE_MODULE_DEF
#define _TRACE_MODULE_DEF
struct module;
#endif
LTTNG_TRACEPOINT_EVENT(module_load,
TP_PROTO(struct module *mod),
TP_ARGS(mod),
TP_FIELDS(
ctf_integer(unsigned int, taints, mod->taints)
ctf_string(name, mod->name)
)
)
LTTNG_TRACEPOINT_EVENT(module_free,
TP_PROTO(struct module *mod),
TP_ARGS(mod),
TP_FIELDS(
ctf_string(name, mod->name)
)
)
#ifdef CONFIG_MODULE_UNLOAD
/* trace_module_get/put are only used if CONFIG_MODULE_UNLOAD is defined */
LTTNG_TRACEPOINT_EVENT_CLASS(module_refcnt,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
TP_PROTO(struct module *mod, unsigned long ip),
TP_ARGS(mod, ip),
#else
TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
TP_ARGS(mod, ip, refcnt),
#endif
TP_FIELDS(
ctf_integer(unsigned long, ip, ip)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0))
ctf_integer(int, refcnt, atomic_read(&mod->refcnt))
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
ctf_integer(int, refcnt, __this_cpu_read(mod->refptr->incs) + __this_cpu_read(mod->refptr->decs))
#else
ctf_integer(int, refcnt, refcnt)
#endif
ctf_string(name, mod->name)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(module_refcnt, module_get,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
TP_PROTO(struct module *mod, unsigned long ip),
TP_ARGS(mod, ip)
#else
TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
TP_ARGS(mod, ip, refcnt)
#endif
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(module_refcnt, module_put,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
TP_PROTO(struct module *mod, unsigned long ip),
TP_ARGS(mod, ip)
#else
TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
TP_ARGS(mod, ip, refcnt)
#endif
)
#endif /* CONFIG_MODULE_UNLOAD */
LTTNG_TRACEPOINT_EVENT(module_request,
TP_PROTO(char *name, bool wait, unsigned long ip),
TP_ARGS(name, wait, ip),
TP_FIELDS(
ctf_integer(unsigned long, ip, ip)
ctf_integer(bool, wait, wait)
ctf_string(name, name)
)
)
#endif /* CONFIG_MODULES */
#endif /* LTTNG_TRACE_MODULE_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,51 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM napi
#if !defined(LTTNG_TRACE_NAPI_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_NAPI_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/netdevice.h>
#include <linux/ftrace.h>
#define NO_DEV "(no_device)"
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
LTTNG_TRACEPOINT_EVENT(napi_poll,
TP_PROTO(struct napi_struct *napi, int work, int budget),
TP_ARGS(napi, work, budget),
TP_FIELDS(
ctf_integer_hex(struct napi_struct *, napi, napi)
ctf_string(dev_name, napi->dev ? napi->dev->name : NO_DEV)
ctf_integer(int, work, work)
ctf_integer(int, budget, budget)
)
)
#else
LTTNG_TRACEPOINT_EVENT(napi_poll,
TP_PROTO(struct napi_struct *napi),
TP_ARGS(napi),
TP_FIELDS(
ctf_integer_hex(struct napi_struct *, napi, napi)
ctf_string(dev_name, napi->dev ? napi->dev->name : NO_DEV)
)
)
#endif
#undef NO_DEV
#endif /* LTTNG_TRACE_NAPI_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,571 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM net
#if !defined(LTTNG_TRACE_NET_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_NET_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/skbuff.h>
#include <linux/netdevice.h>
#include <linux/ip.h>
#include <linux/ipv6.h>
#include <linux/tcp.h>
#include <linux/version.h>
#include <lttng-endian.h>
#include <net/sock.h>
#ifndef ONCE_LTTNG_NET_H
#define ONCE_LTTNG_NET_H
static inline unsigned char __has_network_hdr(struct sk_buff *skb)
{
/*
* If the header is not set yet, the network header will point
* to the head.
*/
return skb_network_header(skb) != skb->head;
}
static struct lttng_event_field emptyfields[] = {
};
/* Structures for transport headers. */
static struct lttng_event_field tcpfields[] = {
[0] = {
.name = "source_port",
.type = __type_integer(uint16_t, 0, 0, 0,
__BIG_ENDIAN, 10, none),
},
[1] = {
.name = "dest_port",
.type = __type_integer(uint16_t, 0, 0, 0,
__BIG_ENDIAN, 10, none),
},
[2] = {
.name = "seq",
.type = __type_integer(uint32_t, 0, 0, 0,
__BIG_ENDIAN, 10, none),
},
[3] = {
.name = "ack_seq",
.type = __type_integer(uint32_t, 0, 0, 0,
__BIG_ENDIAN, 10, none),
},
[4] = {
.name = "data_offset",
.type = __type_integer(uint8_t, 4, 4, 0,
__BIG_ENDIAN, 10, none),
},
[5] = {
.name = "reserved",
.type = __type_integer(uint8_t, 3, 1, 0,
__BIG_ENDIAN, 10, none),
},
[6] = {
.name = "flags",
.type = __type_integer(uint8_t, 9, 1, 0,
__BIG_ENDIAN, 16, none),
},
[7] = {
.name = "window_size",
.type = __type_integer(uint16_t, 0, 0, 0,
__BIG_ENDIAN, 10, none),
},
[8] = {
.name = "checksum",
.type = __type_integer(uint16_t, 0, 0, 0,
__BIG_ENDIAN, 16, none),
},
[9] = {
.name = "urg_ptr",
.type = __type_integer(uint16_t, 0, 0, 0,
__BIG_ENDIAN, 10, none),
},
};
static struct lttng_event_field transport_fields[] = {
[0] = {
.name = "unknown",
.type = {
.atype = atype_struct,
.u._struct.nr_fields = ARRAY_SIZE(emptyfields),
.u._struct.fields = emptyfields,
},
},
[1] = {
.name = "tcp",
.type = {
.atype = atype_struct,
.u._struct.nr_fields = ARRAY_SIZE(tcpfields),
.u._struct.fields = tcpfields,
},
},
};
enum transport_header_types {
TH_NONE = 0,
TH_TCP = 1,
};
static inline enum transport_header_types __get_transport_header_type(struct sk_buff *skb)
{
if (__has_network_hdr(skb)) {
/*
* When both transport and network headers are set,
* transport header is greater than network header,
* otherwise it points to head.
*/
if (skb->transport_header > skb->network_header) {
/*
* Get the transport protocol from the network
* header's data. This method works both for
* sent and received packets.
*/
if ((skb->protocol == htons(ETH_P_IP) &&
ip_hdr(skb)->protocol == IPPROTO_TCP) ||
(skb->protocol == htons(ETH_P_IPV6) &&
ipv6_hdr(skb)->nexthdr == IPPROTO_TCP))
return TH_TCP;
}
/* Fallthrough for other cases where header is not TCP. */
}
return TH_NONE;
}
static struct lttng_enum_entry proto_transport_enum_entries[] = {
[0] = {
.start = { .value = 0, .signedness = 0, },
.end = { .value = IPPROTO_TCP - 1, .signedness = 0, },
.string = "_unknown",
},
[1] = {
.start = { .value = IPPROTO_TCP, .signedness = 0, },
.end = { .value = IPPROTO_TCP, .signedness = 0, },
.string = "_tcp",
},
[2] = {
.start = { .value = IPPROTO_TCP + 1, .signedness = 0, },
.end = { .value = 255, .signedness = 0, },
.string = "_unknown",
},
};
static const struct lttng_enum_desc proto_transport_header_type = {
.name = "proto_transport_header_type",
.entries = proto_transport_enum_entries,
.nr_entries = ARRAY_SIZE(proto_transport_enum_entries),
};
static struct lttng_enum_entry transport_enum_entries[] = {
[0] = {
.start = { .value = TH_NONE, .signedness = 0, },
.end = { .value = TH_NONE, .signedness = 0, },
.string = "_unknown",
},
[1] = {
.start = { .value = TH_TCP, .signedness = 0, },
.end = { .value = TH_TCP, .signedness = 0, },
.string = "_tcp",
},
};
static const struct lttng_enum_desc transport_header_type = {
.name = "transport_header_type",
.entries = transport_enum_entries,
.nr_entries = ARRAY_SIZE(transport_enum_entries),
};
/* Structures for network headers. */
static struct lttng_event_field ipv4fields[] = {
[0] = {
.name = "version",
.type = __type_integer(uint8_t, 4, 4, 0,
__BIG_ENDIAN, 10, none),
},
[1] = {
.name = "ihl",
.type = __type_integer(uint8_t, 4, 4, 0,
__BIG_ENDIAN, 10, none),
},
[2] = {
.name = "tos",
.type = __type_integer(uint8_t, 0, 0, 0,
__BIG_ENDIAN, 10, none),
},
[3] = {
.name = "tot_len",
.type = __type_integer(uint16_t, 0, 0, 0,
__BIG_ENDIAN, 10, none),
},
[4] = {
.name = "id",
.type = __type_integer(uint16_t, 0, 0, 0,
__BIG_ENDIAN, 16, none),
},
[5] = {
.name = "frag_off",
.type = __type_integer(uint16_t, 0, 0, 0,
__BIG_ENDIAN, 10, none),
},
[6] = {
.name = "ttl",
.type = __type_integer(uint8_t, 0, 0, 0,
__BIG_ENDIAN, 10, none),
},
[7] = {
.name = "protocol",
.type = {
.atype = atype_enum,
.u.basic.enumeration.desc =
&proto_transport_header_type,
.u.basic.enumeration.container_type = {
.size = 8,
.alignment = 8,
.signedness = 0,
.reverse_byte_order =
__BIG_ENDIAN != __BYTE_ORDER,
.base = 10,
.encoding = lttng_encode_none,
},
},
},
[8] = {
.name = "checksum",
.type = __type_integer(uint16_t, 0, 0, 0,
__BIG_ENDIAN, 16, none),
},
[9] = {
.name = "saddr",
.type = {
.atype = atype_array,
.u.array.elem_type =
__type_integer(uint8_t, 0, 0, 0,
__BIG_ENDIAN, 10, none),
.u.array.length = 4,
.u.array.elem_alignment = lttng_alignof(uint8_t),
},
},
[10] = {
.name = "daddr",
.type = {
.atype = atype_array,
.u.array.elem_type =
__type_integer(uint8_t, 0, 0, 0,
__BIG_ENDIAN, 10, none),
.u.array.length = 4,
.u.array.elem_alignment = lttng_alignof(uint8_t),
},
},
[11] = {
.name = "transport_header_type",
.type = {
.atype = atype_enum,
.u.basic.enumeration.desc = &transport_header_type,
.u.basic.enumeration.container_type = {
.size = 8,
.alignment = 8,
.signedness = 0,
.reverse_byte_order = 0,
.base = 10,
.encoding = lttng_encode_none,
},
},
},
[12] = {
.name = "transport_header",
.type = {
.atype = atype_variant,
.u.variant.tag_name = "transport_header_type",
.u.variant.choices = transport_fields,
.u.variant.nr_choices = ARRAY_SIZE(transport_fields),
},
},
};
static struct lttng_event_field ipv6fields[] = {
[0] = {
.name = "version",
.type = __type_integer(uint8_t, 4, 4, 0,
__BIG_ENDIAN, 10, none),
},
[1] = {
.name = "prio",
.type = __type_integer(uint8_t, 4, 4, 0,
__BIG_ENDIAN, 10, none),
},
[2] = {
.name = "flow_lbl",
.type = {
.atype = atype_array,
.u.array.elem_type =
__type_integer(uint8_t, 0, 0, 0,
__BIG_ENDIAN, 16, none),
.u.array.length = 3,
.u.array.elem_alignment = lttng_alignof(uint8_t),
},
},
[3] = {
.name = "payload_len",
.type = __type_integer(uint16_t, 0, 0, 0,
__BIG_ENDIAN, 10, none),
},
[4] = {
.name = "nexthdr",
.type = {
.atype = atype_enum,
.u.basic.enumeration.desc =
&proto_transport_header_type,
.u.basic.enumeration.container_type = {
.size = 8,
.alignment = 8,
.signedness = 0,
.reverse_byte_order =
__BIG_ENDIAN != __BYTE_ORDER,
.base = 10,
.encoding = lttng_encode_none,
},
},
},
[5] = {
.name = "hop_limit",
.type = __type_integer(uint8_t, 0, 0, 0,
__BIG_ENDIAN, 10, none),
},
[6] = {
.name = "saddr",
.type = {
.atype = atype_array,
.u.array.elem_type =
__type_integer(uint16_t, 0, 0, 0,
__BIG_ENDIAN, 16, none),
.u.array.length = 8,
.u.array.elem_alignment = lttng_alignof(uint16_t),
},
},
[7] = {
.name = "daddr",
.type = {
.atype = atype_array,
.u.array.elem_type =
__type_integer(uint16_t, 0, 0, 0,
__BIG_ENDIAN, 16, none),
.u.array.length = 8,
.u.array.elem_alignment = lttng_alignof(uint16_t),
},
},
[8] = {
.name = "transport_header_type",
.type = {
.atype = atype_enum,
.u.basic.enumeration.desc = &transport_header_type,
.u.basic.enumeration.container_type = {
.size = 8,
.alignment = 8,
.signedness = 0,
.reverse_byte_order = 0,
.base = 10,
.encoding = lttng_encode_none,
},
},
},
[9] = {
.name = "transport_header",
.type = {
.atype = atype_variant,
.u.variant.tag_name = "transport_header_type",
.u.variant.choices = transport_fields,
.u.variant.nr_choices = ARRAY_SIZE(transport_fields),
},
},
};
static struct lttng_event_field network_fields[] = {
[0] = {
.name = "unknown",
.type = {
.atype = atype_struct,
.u._struct.nr_fields = 0,
.u._struct.fields = emptyfields,
},
},
[1] = {
.name = "ipv4",
.type = {
.atype = atype_struct,
.u._struct.nr_fields = ARRAY_SIZE(ipv4fields),
.u._struct.fields = ipv4fields,
},
},
[2] = {
.name = "ipv6",
.type = {
.atype = atype_struct,
.u._struct.nr_fields = ARRAY_SIZE(ipv6fields),
.u._struct.fields = ipv6fields,
},
},
};
enum network_header_types {
NH_NONE,
NH_IPV4,
NH_IPV6,
};
static inline unsigned char __get_network_header_type(struct sk_buff *skb)
{
if (__has_network_hdr(skb)) {
if (skb->protocol == htons(ETH_P_IPV6))
return NH_IPV6;
else if (skb->protocol == htons(ETH_P_IP))
return NH_IPV4;
/* Fallthrough for other header types. */
}
return NH_NONE;
}
#endif
LTTNG_TRACEPOINT_ENUM(net_network_header,
TP_ENUM_VALUES(
ctf_enum_value("_unknown", NH_NONE)
ctf_enum_value("_ipv4", NH_IPV4)
ctf_enum_value("_ipv6", NH_IPV6)
)
)
LTTNG_TRACEPOINT_EVENT(net_dev_xmit,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40))
TP_PROTO(struct sk_buff *skb,
int rc,
struct net_device *dev,
unsigned int skb_len),
TP_ARGS(skb, rc, dev, skb_len),
#else
TP_PROTO(struct sk_buff *skb,
int rc),
TP_ARGS(skb, rc),
#endif
TP_FIELDS(
ctf_integer_hex(void *, skbaddr, skb)
ctf_integer(int, rc, rc)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40))
ctf_integer(unsigned int, len, skb_len)
ctf_string(name, dev->name)
#else
ctf_integer(unsigned int, len, skb->len)
ctf_string(name, skb->dev->name)
#endif
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(net_dev_template,
TP_PROTO(struct sk_buff *skb),
TP_ARGS(skb),
TP_FIELDS(
ctf_integer_hex(void *, skbaddr, skb)
ctf_integer(unsigned int, len, skb->len)
ctf_string(name, skb->dev->name)
ctf_enum(net_network_header, unsigned char,
network_header_type, __get_network_header_type(skb))
ctf_custom_field(
ctf_custom_type(
.atype = atype_variant,
.u.variant.tag_name = "network_header_type",
.u.variant.choices = network_fields,
.u.variant.nr_choices =
ARRAY_SIZE(network_fields),
),
network_header,
ctf_custom_code(
bool has_network_header = false;
/* Copy the network header. */
switch (__get_network_header_type(skb)) {
case NH_IPV4: {
ctf_align(uint16_t)
ctf_array_type(uint8_t, ip_hdr(skb),
sizeof(struct iphdr))
has_network_header = true;
break;
}
case NH_IPV6: {
ctf_align(uint16_t)
ctf_array_type(uint8_t, ipv6_hdr(skb),
sizeof(struct ipv6hdr))
has_network_header = true;
break;
}
default:
/*
* For any other network header
* type, there is nothing to do.
*/
break;
}
if (has_network_header) {
enum transport_header_types th_type =
__get_transport_header_type(skb);
/* Transport header type field. */
ctf_integer_type(unsigned char, th_type)
/* Copy the transport header. */
if (th_type == TH_TCP) {
ctf_align(uint32_t)
ctf_array_type(uint8_t, tcp_hdr(skb),
sizeof(struct tcphdr))
}
/*
* For any other transport header type,
* there is nothing to do.
*/
}
)
)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(net_dev_template, net_dev_queue,
TP_PROTO(struct sk_buff *skb),
TP_ARGS(skb)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_template,
netif_receive_skb,
net_if_receive_skb,
TP_PROTO(struct sk_buff *skb),
TP_ARGS(skb)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_template,
netif_rx,
net_if_rx,
TP_PROTO(struct sk_buff *skb),
TP_ARGS(skb)
)
#endif /* LTTNG_TRACE_NET_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,282 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM power
#if !defined(LTTNG_TRACE_POWER_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_POWER_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/ktime.h>
#include <linux/version.h>
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
LTTNG_TRACEPOINT_EVENT_CLASS(power_cpu,
TP_PROTO(unsigned int state, unsigned int cpu_id),
TP_ARGS(state, cpu_id),
TP_FIELDS(
ctf_integer(u32, state, state)
ctf_integer(u32, cpu_id, cpu_id)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_cpu, cpu_idle,
power_cpu_idle,
TP_PROTO(unsigned int state, unsigned int cpu_id),
TP_ARGS(state, cpu_id)
)
/* This file can get included multiple times, TRACE_HEADER_MULTI_READ at top */
#ifndef _PWR_EVENT_AVOID_DOUBLE_DEFINING
#define _PWR_EVENT_AVOID_DOUBLE_DEFINING
#define PWR_EVENT_EXIT -1
#endif
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_cpu, cpu_frequency,
power_cpu_frequency,
TP_PROTO(unsigned int frequency, unsigned int cpu_id),
TP_ARGS(frequency, cpu_id)
)
LTTNG_TRACEPOINT_EVENT_MAP(machine_suspend,
power_machine_suspend,
TP_PROTO(unsigned int state),
TP_ARGS(state),
TP_FIELDS(
ctf_integer(u32, state, state)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
LTTNG_TRACEPOINT_EVENT_CLASS(power_wakeup_source,
TP_PROTO(const char *name, unsigned int state),
TP_ARGS(name, state),
TP_FIELDS(
ctf_string(name, name)
ctf_integer(u64, state, state)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_wakeup_source, wakeup_source_activate,
power_wakeup_source_activate,
TP_PROTO(const char *name, unsigned int state),
TP_ARGS(name, state)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_wakeup_source, wakeup_source_deactivate,
power_wakeup_source_deactivate,
TP_PROTO(const char *name, unsigned int state),
TP_ARGS(name, state)
)
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38))
#undef CONFIG_EVENT_POWER_TRACING_DEPRECATED
#define CONFIG_EVENT_POWER_TRACING_DEPRECATED
#define _PWR_EVENT_AVOID_DOUBLE_DEFINING_DEPRECATED
#endif
#ifdef CONFIG_EVENT_POWER_TRACING_DEPRECATED
/*
* The power events are used for cpuidle & suspend (power_start, power_end)
* and for cpufreq (power_frequency)
*/
LTTNG_TRACEPOINT_EVENT_CLASS(power,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
TP_PROTO(unsigned int type, unsigned int state, unsigned int cpu_id),
TP_ARGS(type, state, cpu_id),
#else
TP_PROTO(unsigned int type, unsigned int state),
TP_ARGS(type, state),
#endif
TP_FIELDS(
ctf_integer(u64, type, type)
ctf_integer(u64, state, state)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
ctf_integer(u64, cpu_id, cpu_id)
#endif
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(power, power_start,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
TP_PROTO(unsigned int type, unsigned int state, unsigned int cpu_id),
TP_ARGS(type, state, cpu_id)
#else
TP_PROTO(unsigned int type, unsigned int state),
TP_ARGS(type, state)
#endif
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(power, power_frequency,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
TP_PROTO(unsigned int type, unsigned int state, unsigned int cpu_id),
TP_ARGS(type, state, cpu_id)
#else
TP_PROTO(unsigned int type, unsigned int state),
TP_ARGS(type, state)
#endif
)
LTTNG_TRACEPOINT_EVENT(power_end,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
TP_PROTO(unsigned int cpu_id),
TP_ARGS(cpu_id),
#else
TP_PROTO(int dummy),
TP_ARGS(dummy),
#endif
TP_FIELDS(
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
ctf_integer(u64, cpu_id, cpu_id)
#else
ctf_integer(u64, dummy, 0xffff)
#endif
)
)
/* Deprecated dummy functions must be protected against multi-declartion */
#ifndef _PWR_EVENT_AVOID_DOUBLE_DEFINING_DEPRECATED
#define _PWR_EVENT_AVOID_DOUBLE_DEFINING_DEPRECATED
enum {
POWER_NONE = 0,
POWER_CSTATE = 1,
POWER_PSTATE = 2,
};
#endif /* _PWR_EVENT_AVOID_DOUBLE_DEFINING_DEPRECATED */
#else /* CONFIG_EVENT_POWER_TRACING_DEPRECATED */
#ifndef _PWR_EVENT_AVOID_DOUBLE_DEFINING_DEPRECATED
#define _PWR_EVENT_AVOID_DOUBLE_DEFINING_DEPRECATED
enum {
POWER_NONE = 0,
POWER_CSTATE = 1,
POWER_PSTATE = 2,
};
/* These dummy declaration have to be ripped out when the deprecated
events get removed */
static inline void trace_power_start(u64 type, u64 state, u64 cpuid) {};
static inline void trace_power_end(u64 cpuid) {};
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
static inline void trace_power_start_rcuidle(u64 type, u64 state, u64 cpuid) {};
static inline void trace_power_end_rcuidle(u64 cpuid) {};
#endif
static inline void trace_power_frequency(u64 type, u64 state, u64 cpuid) {};
#endif /* _PWR_EVENT_AVOID_DOUBLE_DEFINING_DEPRECATED */
#endif /* CONFIG_EVENT_POWER_TRACING_DEPRECATED */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
/*
* The clock events are used for clock enable/disable and for
* clock rate change
*/
LTTNG_TRACEPOINT_EVENT_CLASS(power_clock,
TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id),
TP_ARGS(name, state, cpu_id),
TP_FIELDS(
ctf_string(name, name)
ctf_integer(u64, state, state)
ctf_integer(u64, cpu_id, cpu_id)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_clock, clock_enable,
power_clock_enable,
TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id),
TP_ARGS(name, state, cpu_id)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_clock, clock_disable,
power_clock_disable,
TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id),
TP_ARGS(name, state, cpu_id)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(power_clock, clock_set_rate,
power_clock_set_rate,
TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id),
TP_ARGS(name, state, cpu_id)
)
/*
* The power domain events are used for power domains transitions
*/
LTTNG_TRACEPOINT_EVENT_CLASS(power_domain,
TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id),
TP_ARGS(name, state, cpu_id),
TP_FIELDS(
ctf_string(name, name)
ctf_integer(u64, state, state)
ctf_integer(u64, cpu_id, cpu_id)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(power_domain, power_domain_target,
TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id),
TP_ARGS(name, state, cpu_id)
)
#endif
#endif /* LTTNG_TRACE_POWER_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,100 @@
/* SPDX-License-Identifier: GPL-2.0 */
#ifdef CONFIG_PREEMPTIRQ_EVENTS
#undef TRACE_SYSTEM
#define TRACE_SYSTEM preemptirq
#if !defined(LTTNG_TRACE_PREEMPTIRQ_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_PREEMPTIRQ_H
#include <linux/ktime.h>
#include <linux/string.h>
#include <asm/sections.h>
#include <probes/lttng-tracepoint-event.h>
/*
* The preemptirq probe is built when CONFIG_PREEMPTIRQ_EVENTS is defined.
*/
LTTNG_TRACEPOINT_EVENT_CLASS(preemptirq_template,
TP_PROTO(unsigned long ip, unsigned long parent_ip),
TP_ARGS(ip, parent_ip),
TP_FIELDS(
ctf_integer_hex(unsigned long, caller, ip)
ctf_integer_hex(unsigned long, parent, parent_ip)
)
)
/*
* Tracing of irq enable / disable events is enabled
* on >= 4.19 when CONFIG_TRACE_IRQFLAGS is defined.
* on previous kernels when CONFIG_PROVE_LOCKING is NOT defined.
*/
#if defined(CONFIG_TRACE_IRQFLAGS)
#define LTTNG_TRACE_IRQ
#elif (LINUX_VERSION_CODE < KERNEL_VERSION(4,19,0) && \
!defined(CONFIG_PROVE_LOCKING))
#define LTTNG_TRACE_IRQ
#endif
#ifdef LTTNG_TRACE_IRQ
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(preemptirq_template, irq_disable,
preemptirq_irq_disable,
TP_PROTO(unsigned long ip, unsigned long parent_ip),
TP_ARGS(ip, parent_ip)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(preemptirq_template, irq_enable,
preemptirq_irq_enable,
TP_PROTO(unsigned long ip, unsigned long parent_ip),
TP_ARGS(ip, parent_ip)
)
#endif /* LTTNG_TRACE_IRQ */
/*
* Tracing of preempt enable / disable events is enabled
* on >= 4.19 when CONFIG_TRACE_PREEMPT_TOGGLE is defined.
* on previous kernels when CONFIG_DEBUG_PREEMPT is defined.
*/
#if defined(CONFIG_TRACE_PREEMPT_TOGGLE)
#define LTTNG_TRACE_PREEMPT
#elif (LINUX_VERSION_CODE < KERNEL_VERSION(4,19,0) && \
defined(CONFIG_DEBUG_PREEMPT))
#define LTTNG_TRACE_PREEMPT
#endif
#ifdef LTTNG_TRACE_PREEMPT
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(preemptirq_template, preempt_disable,
preemptirq_preempt_disable,
TP_PROTO(unsigned long ip, unsigned long parent_ip),
TP_ARGS(ip, parent_ip)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(preemptirq_template, preempt_enable,
preemptirq_preempt_enable,
TP_PROTO(unsigned long ip, unsigned long parent_ip),
TP_ARGS(ip, parent_ip)
)
#endif /* LTTNG_TRACE_PREEMPT */
#endif /* LTTNG_TRACE_PREEMPTIRQ_H */
/* This part must be outside protection */
#include <probes/define_trace.h>
#endif /* CONFIG_PREEMPTIRQ_EVENTS */

View File

@ -0,0 +1,76 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM printk
#if !defined(LTTNG_TRACE_PRINTK_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_PRINTK_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/version.h>
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0))
LTTNG_TRACEPOINT_EVENT_MAP(console,
printk_console,
TP_PROTO(const char *text, size_t len),
TP_ARGS(text, len),
TP_FIELDS(
ctf_sequence_text(char, msg, text, size_t, len)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
LTTNG_TRACEPOINT_EVENT_MAP(console,
printk_console,
TP_PROTO(const char *log_buf, unsigned start, unsigned end,
unsigned log_buf_len),
TP_ARGS(log_buf, start, end, log_buf_len),
TP_FIELDS(
ctf_sequence_text(char, msg, log_buf + start,
size_t, end - start)
)
)
#else /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0)) */
LTTNG_TRACEPOINT_EVENT_MAP(console,
printk_console,
TP_PROTO(const char *log_buf, unsigned start, unsigned end,
unsigned log_buf_len),
TP_ARGS(log_buf, start, end, log_buf_len),
TP_FIELDS(
/*
* printk buffer is gathered from two segments on older kernels.
*/
ctf_sequence_text(char, msg1,
log_buf + (start & (log_buf_len - 1)),
size_t, (start & (log_buf_len - 1)) > (end & (log_buf_len - 1))
? log_buf_len - (start & (log_buf_len - 1))
: end - start)
ctf_sequence_text(char, msg2,
log_buf,
size_t, (start & (log_buf_len - 1)) > (end & (log_buf_len - 1))
? end & (log_buf_len - 1)
: 0)
)
)
#endif
#endif /* LTTNG_TRACE_PRINTK_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,132 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM random
#if !defined(LTTNG_TRACE_RANDOM_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_RANDOM_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/writeback.h>
LTTNG_TRACEPOINT_EVENT_CLASS(random__mix_pool_bytes,
TP_PROTO(const char *pool_name, int bytes, unsigned long IP),
TP_ARGS(pool_name, bytes, IP),
TP_FIELDS(
ctf_string(pool_name, pool_name)
ctf_integer(int, bytes, bytes)
ctf_integer(unsigned long, IP, IP)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes,
random_mix_pool_bytes,
TP_PROTO(const char *pool_name, int bytes, unsigned long IP),
TP_ARGS(pool_name, bytes, IP)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes_nolock,
random_mix_pool_bytes_nolock,
TP_PROTO(const char *pool_name, int bytes, unsigned long IP),
TP_ARGS(pool_name, bytes, IP)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,2,0))
LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits,
random_credit_entropy_bits,
TP_PROTO(const char *pool_name, int bits, int entropy_count,
unsigned long IP),
TP_ARGS(pool_name, bits, entropy_count, IP),
TP_FIELDS(
ctf_string(pool_name, pool_name)
ctf_integer(int, bits, bits)
ctf_integer(int, entropy_count, entropy_count)
ctf_integer(unsigned long, IP, IP)
)
)
#else
LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits,
random_credit_entropy_bits,
TP_PROTO(const char *pool_name, int bits, int entropy_count,
int entropy_total, unsigned long IP),
TP_ARGS(pool_name, bits, entropy_count, entropy_total, IP),
TP_FIELDS(
ctf_string(pool_name, pool_name)
ctf_integer(int, bits, bits)
ctf_integer(int, entropy_count, entropy_count)
ctf_integer(int, entropy_total, entropy_total)
ctf_integer(unsigned long, IP, IP)
)
)
#endif
LTTNG_TRACEPOINT_EVENT_MAP(get_random_bytes,
random_get_random_bytes,
TP_PROTO(int nbytes, unsigned long IP),
TP_ARGS(nbytes, IP),
TP_FIELDS(
ctf_integer(int, nbytes, nbytes)
ctf_integer(unsigned long, IP, IP)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(random__extract_entropy,
TP_PROTO(const char *pool_name, int nbytes, int entropy_count,
unsigned long IP),
TP_ARGS(pool_name, nbytes, entropy_count, IP),
TP_FIELDS(
ctf_string(pool_name, pool_name)
ctf_integer(int, nbytes, nbytes)
ctf_integer(int, entropy_count, entropy_count)
ctf_integer(unsigned long, IP, IP)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy,
random_extract_entropy,
TP_PROTO(const char *pool_name, int nbytes, int entropy_count,
unsigned long IP),
TP_ARGS(pool_name, nbytes, entropy_count, IP)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy_user,
random_extract_entropy_user,
TP_PROTO(const char *pool_name, int nbytes, int entropy_count,
unsigned long IP),
TP_ARGS(pool_name, nbytes, entropy_count, IP)
)
#endif /* LTTNG_TRACE_RANDOM_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,965 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM rcu
#if !defined(LTTNG_TRACE_RCU_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_RCU_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/version.h>
/*
* Tracepoint for start/end markers used for utilization calculations.
* By convention, the string is of the following forms:
*
* "Start <activity>" -- Mark the start of the specified activity,
* such as "context switch". Nesting is permitted.
* "End <activity>" -- Mark the end of the specified activity.
*
* An "@" character within "<activity>" is a comment character: Data
* reduction scripts will ignore the "@" and the remainder of the line.
*/
LTTNG_TRACEPOINT_EVENT(rcu_utilization,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
TP_PROTO(const char *s),
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
TP_PROTO(char *s),
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
TP_ARGS(s),
TP_FIELDS(
ctf_string(s, s)
)
)
#ifdef CONFIG_RCU_TRACE
#if defined(CONFIG_TREE_RCU) \
|| (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0) \
&& defined(CONFIG_PREEMPT_RCU)) \
|| defined(CONFIG_TREE_PREEMPT_RCU)
/*
* Tracepoint for grace-period events: starting and ending a grace
* period ("start" and "end", respectively), a CPU noting the start
* of a new grace period or the end of an old grace period ("cpustart"
* and "cpuend", respectively), a CPU passing through a quiescent
* state ("cpuqs"), a CPU coming online or going offline ("cpuonl"
* and "cpuofl", respectively), and a CPU being kicked for being too
* long in dyntick-idle mode ("kick").
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0) || \
LTTNG_RHEL_KERNEL_RANGE(4,18,0,80,0,0, 4,19,0,0,0,0))
LTTNG_TRACEPOINT_EVENT(rcu_grace_period,
TP_PROTO(const char *rcuname, unsigned long gp_seq, const char *gpevent),
TP_ARGS(rcuname, gp_seq, gpevent),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gp_seq, gp_seq)
ctf_string(gpevent, gpevent)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
LTTNG_TRACEPOINT_EVENT(rcu_grace_period,
TP_PROTO(const char *rcuname, unsigned long gpnum, const char *gpevent),
TP_ARGS(rcuname, gpnum, gpevent),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gpnum, gpnum)
ctf_string(gpevent, gpevent)
)
)
#else
LTTNG_TRACEPOINT_EVENT(rcu_grace_period,
TP_PROTO(char *rcuname, unsigned long gpnum, char *gpevent),
TP_ARGS(rcuname, gpnum, gpevent),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gpnum, gpnum)
ctf_string(gpevent, gpevent)
)
)
#endif
/*
* Tracepoint for grace-period-initialization events. These are
* distinguished by the type of RCU, the new grace-period number, the
* rcu_node structure level, the starting and ending CPU covered by the
* rcu_node structure, and the mask of CPUs that will be waited for.
* All but the type of RCU are extracted from the rcu_node structure.
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0) || \
LTTNG_RHEL_KERNEL_RANGE(4,18,0,80,0,0, 4,19,0,0,0,0))
LTTNG_TRACEPOINT_EVENT(rcu_grace_period_init,
TP_PROTO(const char *rcuname, unsigned long gp_seq, u8 level,
int grplo, int grphi, unsigned long qsmask),
TP_ARGS(rcuname, gp_seq, level, grplo, grphi, qsmask),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gp_seq, gp_seq)
ctf_integer(u8, level, level)
ctf_integer(int, grplo, grplo)
ctf_integer(int, grphi, grphi)
ctf_integer(unsigned long, qsmask, qsmask)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
LTTNG_TRACEPOINT_EVENT(rcu_grace_period_init,
TP_PROTO(const char *rcuname, unsigned long gpnum, u8 level,
int grplo, int grphi, unsigned long qsmask),
TP_ARGS(rcuname, gpnum, level, grplo, grphi, qsmask),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gpnum, gpnum)
ctf_integer(u8, level, level)
ctf_integer(int, grplo, grplo)
ctf_integer(int, grphi, grphi)
ctf_integer(unsigned long, qsmask, qsmask)
)
)
#else
LTTNG_TRACEPOINT_EVENT(rcu_grace_period_init,
TP_PROTO(char *rcuname, unsigned long gpnum, u8 level,
int grplo, int grphi, unsigned long qsmask),
TP_ARGS(rcuname, gpnum, level, grplo, grphi, qsmask),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gpnum, gpnum)
ctf_integer(u8, level, level)
ctf_integer(int, grplo, grplo)
ctf_integer(int, grphi, grphi)
ctf_integer(unsigned long, qsmask, qsmask)
)
)
#endif
/*
* Tracepoint for tasks blocking within preemptible-RCU read-side
* critical sections. Track the type of RCU (which one day might
* include SRCU), the grace-period number that the task is blocking
* (the current or the next), and the task's PID.
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0) || \
LTTNG_RHEL_KERNEL_RANGE(4,18,0,80,0,0, 4,19,0,0,0,0))
LTTNG_TRACEPOINT_EVENT(rcu_preempt_task,
TP_PROTO(const char *rcuname, int pid, unsigned long gp_seq),
TP_ARGS(rcuname, pid, gp_seq),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gp_seq, gp_seq)
ctf_integer(int, pid, pid)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
LTTNG_TRACEPOINT_EVENT(rcu_preempt_task,
TP_PROTO(const char *rcuname, int pid, unsigned long gpnum),
TP_ARGS(rcuname, pid, gpnum),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gpnum, gpnum)
ctf_integer(int, pid, pid)
)
)
#else
LTTNG_TRACEPOINT_EVENT(rcu_preempt_task,
TP_PROTO(char *rcuname, int pid, unsigned long gpnum),
TP_ARGS(rcuname, pid, gpnum),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gpnum, gpnum)
ctf_integer(int, pid, pid)
)
)
#endif
/*
* Tracepoint for tasks that blocked within a given preemptible-RCU
* read-side critical section exiting that critical section. Track the
* type of RCU (which one day might include SRCU) and the task's PID.
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0) || \
LTTNG_RHEL_KERNEL_RANGE(4,18,0,80,0,0, 4,19,0,0,0,0))
LTTNG_TRACEPOINT_EVENT(rcu_unlock_preempted_task,
TP_PROTO(const char *rcuname, unsigned long gp_seq, int pid),
TP_ARGS(rcuname, gp_seq, pid),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gp_seq, gp_seq)
ctf_integer(int, pid, pid)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
LTTNG_TRACEPOINT_EVENT(rcu_unlock_preempted_task,
TP_PROTO(const char *rcuname, unsigned long gpnum, int pid),
TP_ARGS(rcuname, gpnum, pid),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gpnum, gpnum)
ctf_integer(int, pid, pid)
)
)
#else
LTTNG_TRACEPOINT_EVENT(rcu_unlock_preempted_task,
TP_PROTO(char *rcuname, unsigned long gpnum, int pid),
TP_ARGS(rcuname, gpnum, pid),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gpnum, gpnum)
ctf_integer(int, pid, pid)
)
)
#endif
/*
* Tracepoint for quiescent-state-reporting events. These are
* distinguished by the type of RCU, the grace-period number, the
* mask of quiescent lower-level entities, the rcu_node structure level,
* the starting and ending CPU covered by the rcu_node structure, and
* whether there are any blocked tasks blocking the current grace period.
* All but the type of RCU are extracted from the rcu_node structure.
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0) || \
LTTNG_RHEL_KERNEL_RANGE(4,18,0,80,0,0, 4,19,0,0,0,0))
LTTNG_TRACEPOINT_EVENT(rcu_quiescent_state_report,
TP_PROTO(const char *rcuname, unsigned long gp_seq,
unsigned long mask, unsigned long qsmask,
u8 level, int grplo, int grphi, int gp_tasks),
TP_ARGS(rcuname, gp_seq, mask, qsmask, level, grplo, grphi, gp_tasks),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gp_seq, gp_seq)
ctf_integer(unsigned long, mask, mask)
ctf_integer(unsigned long, qsmask, qsmask)
ctf_integer(u8, level, level)
ctf_integer(int, grplo, grplo)
ctf_integer(int, grphi, grphi)
ctf_integer(u8, gp_tasks, gp_tasks)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
LTTNG_TRACEPOINT_EVENT(rcu_quiescent_state_report,
TP_PROTO(const char *rcuname, unsigned long gpnum,
unsigned long mask, unsigned long qsmask,
u8 level, int grplo, int grphi, int gp_tasks),
TP_ARGS(rcuname, gpnum, mask, qsmask, level, grplo, grphi, gp_tasks),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gpnum, gpnum)
ctf_integer(unsigned long, mask, mask)
ctf_integer(unsigned long, qsmask, qsmask)
ctf_integer(u8, level, level)
ctf_integer(int, grplo, grplo)
ctf_integer(int, grphi, grphi)
ctf_integer(u8, gp_tasks, gp_tasks)
)
)
#else
LTTNG_TRACEPOINT_EVENT(rcu_quiescent_state_report,
TP_PROTO(char *rcuname, unsigned long gpnum,
unsigned long mask, unsigned long qsmask,
u8 level, int grplo, int grphi, int gp_tasks),
TP_ARGS(rcuname, gpnum, mask, qsmask, level, grplo, grphi, gp_tasks),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(unsigned long, gpnum, gpnum)
ctf_integer(unsigned long, mask, mask)
ctf_integer(unsigned long, qsmask, qsmask)
ctf_integer(u8, level, level)
ctf_integer(int, grplo, grplo)
ctf_integer(int, grphi, grphi)
ctf_integer(u8, gp_tasks, gp_tasks)
)
)
#endif
/*
* Tracepoint for quiescent states detected by force_quiescent_state().
* These trace events include the type of RCU, the grace-period number
* that was blocked by the CPU, the CPU itself, and the type of quiescent
* state, which can be "dti" for dyntick-idle mode, "ofl" for CPU offline,
* or "kick" when kicking a CPU that has been in dyntick-idle mode for
* too long.
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0) || \
LTTNG_RHEL_KERNEL_RANGE(4,18,0,80,0,0, 4,19,0,0,0,0))
LTTNG_TRACEPOINT_EVENT(rcu_fqs,
TP_PROTO(const char *rcuname, unsigned long gp_seq, int cpu, const char *qsevent),
TP_ARGS(rcuname, gp_seq, cpu, qsevent),
TP_FIELDS(
ctf_integer(unsigned long, gp_seq, gp_seq)
ctf_integer(int, cpu, cpu)
ctf_string(rcuname, rcuname)
ctf_string(qsevent, qsevent)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
LTTNG_TRACEPOINT_EVENT(rcu_fqs,
TP_PROTO(const char *rcuname, unsigned long gpnum, int cpu, const char *qsevent),
TP_ARGS(rcuname, gpnum, cpu, qsevent),
TP_FIELDS(
ctf_integer(unsigned long, gpnum, gpnum)
ctf_integer(int, cpu, cpu)
ctf_string(rcuname, rcuname)
ctf_string(qsevent, qsevent)
)
)
#else
LTTNG_TRACEPOINT_EVENT(rcu_fqs,
TP_PROTO(char *rcuname, unsigned long gpnum, int cpu, char *qsevent),
TP_ARGS(rcuname, gpnum, cpu, qsevent),
TP_FIELDS(
ctf_integer(unsigned long, gpnum, gpnum)
ctf_integer(int, cpu, cpu)
ctf_string(rcuname, rcuname)
ctf_string(qsevent, qsevent)
)
)
#endif
#endif /*
* #if defined(CONFIG_TREE_RCU)
* || (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0)
* && defined(CONFIG_PREEMPT_RCU))
* || defined(CONFIG_TREE_PREEMPT_RCU)
*/
/*
* Tracepoint for dyntick-idle entry/exit events. These take a string
* as argument: "Start" for entering dyntick-idle mode, "End" for
* leaving it, "--=" for events moving towards idle, and "++=" for events
* moving away from idle. "Error on entry: not idle task" and "Error on
* exit: not idle task" indicate that a non-idle task is erroneously
* toying with the idle loop.
*
* These events also take a pair of numbers, which indicate the nesting
* depth before and after the event of interest. Note that task-related
* events use the upper bits of each number, while interrupt-related
* events use the lower bits.
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)) \
|| LTTNG_KERNEL_RANGE(5,5,6, 5,6,0) \
|| LTTNG_KERNEL_RANGE(5,4,22, 5,5,0) \
|| LTTNG_UBUNTU_KERNEL_RANGE(5,0,21,46, 5,1,0,0)
LTTNG_TRACEPOINT_EVENT(rcu_dyntick,
TP_PROTO(const char *polarity, long oldnesting, long newnesting, int dynticks),
TP_ARGS(polarity, oldnesting, newnesting, dynticks),
TP_FIELDS(
ctf_string(polarity, polarity)
ctf_integer(long, oldnesting, oldnesting)
ctf_integer(long, newnesting, newnesting)
ctf_integer(int, dynticks, dynticks)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,16,0))
LTTNG_TRACEPOINT_EVENT(rcu_dyntick,
TP_PROTO(const char *polarity, long oldnesting, long newnesting, atomic_t dynticks),
TP_ARGS(polarity, oldnesting, newnesting, dynticks),
TP_FIELDS(
ctf_string(polarity, polarity)
ctf_integer(long, oldnesting, oldnesting)
ctf_integer(long, newnesting, newnesting)
ctf_integer(int, dynticks, atomic_read(&dynticks))
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
LTTNG_TRACEPOINT_EVENT(rcu_dyntick,
TP_PROTO(const char *polarity, long long oldnesting, long long newnesting),
TP_ARGS(polarity, oldnesting, newnesting),
TP_FIELDS(
ctf_string(polarity, polarity)
ctf_integer(long long, oldnesting, oldnesting)
ctf_integer(long long, newnesting, newnesting)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
LTTNG_TRACEPOINT_EVENT(rcu_dyntick,
TP_PROTO(char *polarity, long long oldnesting, long long newnesting),
TP_ARGS(polarity, oldnesting, newnesting),
TP_FIELDS(
ctf_string(polarity, polarity)
ctf_integer(long long, oldnesting, oldnesting)
ctf_integer(long long, newnesting, newnesting)
)
)
#else
LTTNG_TRACEPOINT_EVENT(rcu_dyntick,
TP_PROTO(char *polarity),
TP_ARGS(polarity),
TP_FIELDS(
ctf_string(polarity, polarity)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
/*
* Tracepoint for RCU preparation for idle, the goal being to get RCU
* processing done so that the current CPU can shut off its scheduling
* clock and enter dyntick-idle mode. One way to accomplish this is
* to drain all RCU callbacks from this CPU, and the other is to have
* done everything RCU requires for the current grace period. In this
* latter case, the CPU will be awakened at the end of the current grace
* period in order to process the remainder of its callbacks.
*
* These tracepoints take a string as argument:
*
* "No callbacks": Nothing to do, no callbacks on this CPU.
* "In holdoff": Nothing to do, holding off after unsuccessful attempt.
* "Begin holdoff": Attempt failed, don't retry until next jiffy.
* "Dyntick with callbacks": Entering dyntick-idle despite callbacks.
* "Dyntick with lazy callbacks": Entering dyntick-idle w/lazy callbacks.
* "More callbacks": Still more callbacks, try again to clear them out.
* "Callbacks drained": All callbacks processed, off to dyntick idle!
* "Timer": Timer fired to cause CPU to continue processing callbacks.
* "Demigrate": Timer fired on wrong CPU, woke up correct CPU.
* "Cleanup after idle": Idle exited, timer canceled.
*/
LTTNG_TRACEPOINT_EVENT(rcu_prep_idle,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
TP_PROTO(const char *reason),
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
TP_PROTO(char *reason),
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
TP_ARGS(reason),
TP_FIELDS(
ctf_string(reason, reason)
)
)
#endif
/*
* Tracepoint for the registration of a single RCU callback function.
* The first argument is the type of RCU, the second argument is
* a pointer to the RCU callback itself, the third element is the
* number of lazy callbacks queued, and the fourth element is the
* total number of callbacks queued.
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
LTTNG_TRACEPOINT_EVENT(rcu_callback,
TP_PROTO(const char *rcuname, struct rcu_head *rhp, long qlen),
TP_ARGS(rcuname, rhp, qlen),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer_hex(void *, rhp, rhp)
ctf_integer_hex(void *, func, rhp->func)
ctf_integer(long, qlen, qlen)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
LTTNG_TRACEPOINT_EVENT(rcu_callback,
TP_PROTO(const char *rcuname, struct rcu_head *rhp, long qlen_lazy,
long qlen),
TP_ARGS(rcuname, rhp, qlen_lazy, qlen),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer_hex(void *, rhp, rhp)
ctf_integer_hex(void *, func, rhp->func)
ctf_integer(long, qlen_lazy, qlen_lazy)
ctf_integer(long, qlen, qlen)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
LTTNG_TRACEPOINT_EVENT(rcu_callback,
TP_PROTO(char *rcuname, struct rcu_head *rhp, long qlen_lazy,
long qlen),
TP_ARGS(rcuname, rhp, qlen_lazy, qlen),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer_hex(void *, rhp, rhp)
ctf_integer_hex(void *, func, rhp->func)
ctf_integer(long, qlen_lazy, qlen_lazy)
ctf_integer(long, qlen, qlen)
)
)
#else
LTTNG_TRACEPOINT_EVENT(rcu_callback,
TP_PROTO(char *rcuname, struct rcu_head *rhp, long qlen),
TP_ARGS(rcuname, rhp, qlen),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer_hex(void *, rhp, rhp)
ctf_integer_hex(void *, func, rhp->func)
ctf_integer(long, qlen, qlen)
)
)
#endif
/*
* Tracepoint for the registration of a single RCU callback of the special
* kfree() form. The first argument is the RCU type, the second argument
* is a pointer to the RCU callback, the third argument is the offset
* of the callback within the enclosing RCU-protected data structure,
* the fourth argument is the number of lazy callbacks queued, and the
* fifth argument is the total number of callbacks queued.
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
LTTNG_TRACEPOINT_EVENT(rcu_kfree_callback,
TP_PROTO(const char *rcuname, struct rcu_head *rhp, unsigned long offset,
long qlen),
TP_ARGS(rcuname, rhp, offset, qlen),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer_hex(void *, rhp, rhp)
ctf_integer_hex(unsigned long, offset, offset)
ctf_integer(long, qlen, qlen)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
LTTNG_TRACEPOINT_EVENT(rcu_kfree_callback,
TP_PROTO(const char *rcuname, struct rcu_head *rhp, unsigned long offset,
long qlen_lazy, long qlen),
TP_ARGS(rcuname, rhp, offset, qlen_lazy, qlen),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer_hex(void *, rhp, rhp)
ctf_integer_hex(unsigned long, offset, offset)
ctf_integer(long, qlen_lazy, qlen_lazy)
ctf_integer(long, qlen, qlen)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
LTTNG_TRACEPOINT_EVENT(rcu_kfree_callback,
TP_PROTO(char *rcuname, struct rcu_head *rhp, unsigned long offset,
long qlen_lazy, long qlen),
TP_ARGS(rcuname, rhp, offset, qlen_lazy, qlen),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer_hex(void *, rhp, rhp)
ctf_integer_hex(unsigned long, offset, offset)
ctf_integer(long, qlen_lazy, qlen_lazy)
ctf_integer(long, qlen, qlen)
)
)
#else
LTTNG_TRACEPOINT_EVENT(rcu_kfree_callback,
TP_PROTO(char *rcuname, struct rcu_head *rhp, unsigned long offset,
long qlen),
TP_ARGS(rcuname, rhp, offset, qlen),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer_hex(void *, rhp, rhp)
ctf_integer_hex(unsigned long, offset, offset)
ctf_integer(long, qlen, qlen)
)
)
#endif
/*
* Tracepoint for marking the beginning rcu_do_batch, performed to start
* RCU callback invocation. The first argument is the RCU flavor,
* the second is the number of lazy callbacks queued, the third is
* the total number of callbacks queued, and the fourth argument is
* the current RCU-callback batch limit.
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
LTTNG_TRACEPOINT_EVENT(rcu_batch_start,
TP_PROTO(const char *rcuname, long qlen, long blimit),
TP_ARGS(rcuname, qlen, blimit),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(long, qlen, qlen)
ctf_integer(long, blimit, blimit)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
LTTNG_TRACEPOINT_EVENT(rcu_batch_start,
TP_PROTO(const char *rcuname, long qlen_lazy, long qlen, long blimit),
TP_ARGS(rcuname, qlen_lazy, qlen, blimit),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(long, qlen_lazy, qlen_lazy)
ctf_integer(long, qlen, qlen)
ctf_integer(long, blimit, blimit)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
LTTNG_TRACEPOINT_EVENT(rcu_batch_start,
TP_PROTO(char *rcuname, long qlen_lazy, long qlen, long blimit),
TP_ARGS(rcuname, qlen_lazy, qlen, blimit),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(long, qlen_lazy, qlen_lazy)
ctf_integer(long, qlen, qlen)
ctf_integer(long, blimit, blimit)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
LTTNG_TRACEPOINT_EVENT(rcu_batch_start,
TP_PROTO(char *rcuname, long qlen_lazy, long qlen, int blimit),
TP_ARGS(rcuname, qlen_lazy, qlen, blimit),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(long, qlen_lazy, qlen_lazy)
ctf_integer(long, qlen, qlen)
ctf_integer(int, blimit, blimit)
)
)
#else
LTTNG_TRACEPOINT_EVENT(rcu_batch_start,
TP_PROTO(char *rcuname, long qlen, int blimit),
TP_ARGS(rcuname, qlen, blimit),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(long, qlen, qlen)
ctf_integer(int, blimit, blimit)
)
)
#endif
/*
* Tracepoint for the invocation of a single RCU callback function.
* The first argument is the type of RCU, and the second argument is
* a pointer to the RCU callback itself.
*/
LTTNG_TRACEPOINT_EVENT(rcu_invoke_callback,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
TP_PROTO(const char *rcuname, struct rcu_head *rhp),
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
TP_PROTO(char *rcuname, struct rcu_head *rhp),
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
TP_ARGS(rcuname, rhp),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer_hex(void *, rhp, rhp)
ctf_integer_hex(void *, func, rhp->func)
)
)
/*
* Tracepoint for the invocation of a single RCU callback of the special
* kfree() form. The first argument is the RCU flavor, the second
* argument is a pointer to the RCU callback, and the third argument
* is the offset of the callback within the enclosing RCU-protected
* data structure.
*/
LTTNG_TRACEPOINT_EVENT(rcu_invoke_kfree_callback,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
TP_PROTO(const char *rcuname, struct rcu_head *rhp, unsigned long offset),
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
TP_PROTO(char *rcuname, struct rcu_head *rhp, unsigned long offset),
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
TP_ARGS(rcuname, rhp, offset),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer_hex(void *, rhp, rhp)
ctf_integer(unsigned long, offset, offset)
)
)
/*
* Tracepoint for exiting rcu_do_batch after RCU callbacks have been
* invoked. The first argument is the name of the RCU flavor,
* the second argument is number of callbacks actually invoked,
* the third argument (cb) is whether or not any of the callbacks that
* were ready to invoke at the beginning of this batch are still
* queued, the fourth argument (nr) is the return value of need_resched(),
* the fifth argument (iit) is 1 if the current task is the idle task,
* and the sixth argument (risk) is the return value from
* rcu_is_callbacks_kthread().
*/
LTTNG_TRACEPOINT_EVENT(rcu_batch_end,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0))
TP_PROTO(const char *rcuname, int callbacks_invoked,
char cb, char nr, char iit, char risk),
TP_ARGS(rcuname, callbacks_invoked, cb, nr, iit, risk),
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
TP_PROTO(const char *rcuname, int callbacks_invoked,
bool cb, bool nr, bool iit, bool risk),
TP_ARGS(rcuname, callbacks_invoked, cb, nr, iit, risk),
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
TP_PROTO(char *rcuname, int callbacks_invoked,
bool cb, bool nr, bool iit, bool risk),
TP_ARGS(rcuname, callbacks_invoked, cb, nr, iit, risk),
#else
TP_PROTO(char *rcuname, int callbacks_invoked),
TP_ARGS(rcuname, callbacks_invoked),
#endif
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_integer(int, callbacks_invoked, callbacks_invoked)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0))
ctf_integer(char, cb, cb)
ctf_integer(char, nr, nr)
ctf_integer(char, iit, iit)
ctf_integer(char, risk, risk)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
ctf_integer(bool, cb, cb)
ctf_integer(bool, nr, nr)
ctf_integer(bool, iit, iit)
ctf_integer(bool, risk, risk)
#endif
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
/*
* Tracepoint for rcutorture readers. The first argument is the name
* of the RCU flavor from rcutorture's viewpoint and the second argument
* is the callback address.
*/
LTTNG_TRACEPOINT_EVENT(rcu_torture_read,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
TP_PROTO(const char *rcutorturename, struct rcu_head *rhp,
unsigned long secs, unsigned long c_old, unsigned long c),
TP_ARGS(rcutorturename, rhp, secs, c_old, c),
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
TP_PROTO(char *rcutorturename, struct rcu_head *rhp,
unsigned long secs, unsigned long c_old, unsigned long c),
TP_ARGS(rcutorturename, rhp, secs, c_old, c),
#else
TP_PROTO(char *rcutorturename, struct rcu_head *rhp),
TP_ARGS(rcutorturename, rhp),
#endif
TP_FIELDS(
ctf_string(rcutorturename, rcutorturename)
ctf_integer_hex(struct rcu_head *, rhp, rhp)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
ctf_integer(unsigned long, secs, secs)
ctf_integer(unsigned long, c_old, c_old)
ctf_integer(unsigned long, c, c)
#endif
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0))
/*
* Tracepoint for _rcu_barrier() execution. The string "s" describes
* the _rcu_barrier phase:
* "Begin": rcu_barrier_callback() started.
* "Check": rcu_barrier_callback() checking for piggybacking.
* "EarlyExit": rcu_barrier_callback() piggybacked, thus early exit.
* "Inc1": rcu_barrier_callback() piggyback check counter incremented.
* "Offline": rcu_barrier_callback() found offline CPU
* "OnlineQ": rcu_barrier_callback() found online CPU with callbacks.
* "OnlineNQ": rcu_barrier_callback() found online CPU, no callbacks.
* "IRQ": An rcu_barrier_callback() callback posted on remote CPU.
* "CB": An rcu_barrier_callback() invoked a callback, not the last.
* "LastCB": An rcu_barrier_callback() invoked the last callback.
* "Inc2": rcu_barrier_callback() piggyback check counter incremented.
* The "cpu" argument is the CPU or -1 if meaningless, the "cnt" argument
* is the count of remaining callbacks, and "done" is the piggybacking count.
*/
LTTNG_TRACEPOINT_EVENT(rcu_barrier,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
TP_PROTO(const char *rcuname, const char *s, int cpu, int cnt, unsigned long done),
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
TP_PROTO(char *rcuname, char *s, int cpu, int cnt, unsigned long done),
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
TP_ARGS(rcuname, s, cpu, cnt, done),
TP_FIELDS(
ctf_string(rcuname, rcuname)
ctf_string(s, s)
ctf_integer(int, cpu, cpu)
ctf_integer(int, cnt, cnt)
ctf_integer(unsigned long, done, done)
)
)
#endif
#else /* #ifdef CONFIG_RCU_TRACE */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0) || \
LTTNG_RHEL_KERNEL_RANGE(4,18,0,80,0,0, 4,19,0,0,0,0))
#define trace_rcu_grace_period(rcuname, gp_seq, gpevent) do { } while (0)
#define trace_rcu_grace_period_init(rcuname, gp_seq, level, grplo, grphi, \
qsmask) do { } while (0)
#define trace_rcu_preempt_task(rcuname, pid, gp_seq) do { } while (0)
#define trace_rcu_unlock_preempted_task(rcuname, gp_seq, pid) do { } while (0)
#define trace_rcu_quiescent_state_report(rcuname, gp_seq, mask, qsmask, level, \
grplo, grphi, gp_tasks) do { } \
while (0)
#define trace_rcu_fqs(rcuname, gp_seq, cpu, qsevent) do { } while (0)
#else
#define trace_rcu_grace_period(rcuname, gpnum, gpevent) do { } while (0)
#define trace_rcu_grace_period_init(rcuname, gpnum, level, grplo, grphi, \
qsmask) do { } while (0)
#define trace_rcu_preempt_task(rcuname, pid, gpnum) do { } while (0)
#define trace_rcu_unlock_preempted_task(rcuname, gpnum, pid) do { } while (0)
#define trace_rcu_quiescent_state_report(rcuname, gpnum, mask, qsmask, level, \
grplo, grphi, gp_tasks) do { } \
while (0)
#define trace_rcu_fqs(rcuname, gpnum, cpu, qsevent) do { } while (0)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,16,0))
#define trace_rcu_dyntick(polarity, oldnesting, newnesting, dyntick) do { } while (0)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
#define trace_rcu_dyntick(polarity, oldnesting, newnesting) do { } while (0)
#else
#define trace_rcu_dyntick(polarity) do { } while (0)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
#define trace_rcu_prep_idle(reason) do { } while (0)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
#define trace_rcu_callback(rcuname, rhp, qlen_lazy, qlen) do { } while (0)
#define trace_rcu_kfree_callback(rcuname, rhp, offset, qlen_lazy, qlen) \
do { } while (0)
#define trace_rcu_batch_start(rcuname, qlen_lazy, qlen, blimit) \
do { } while (0)
#else
#define trace_rcu_callback(rcuname, rhp, qlen) do { } while (0)
#define trace_rcu_kfree_callback(rcuname, rhp, offset, qlen) do { } while (0)
#define trace_rcu_batch_start(rcuname, qlen, blimit) do { } while (0)
#endif
#define trace_rcu_invoke_callback(rcuname, rhp) do { } while (0)
#define trace_rcu_invoke_kfree_callback(rcuname, rhp, offset) do { } while (0)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
#define trace_rcu_batch_end(rcuname, callbacks_invoked, cb, nr, iit, risk) \
do { } while (0)
#else
#define trace_rcu_batch_end(rcuname, callbacks_invoked) do { } while (0)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
#define trace_rcu_torture_read(rcutorturename, rhp, secs, c_old, c) \
do { } while (0)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
#define trace_rcu_torture_read(rcutorturename, rhp) do { } while (0)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0))
#define trace_rcu_barrier(name, s, cpu, cnt, done) do { } while (0)
#endif
#endif /* #else #ifdef CONFIG_RCU_TRACE */
#endif /* LTTNG_TRACE_RCU_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,145 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM regmap
#if !defined(LTTNG_TRACE_REGMAP_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_REGMAP_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/ktime.h>
#include <linux/version.h>
#ifndef _TRACE_REGMAP_DEF_
#define _TRACE_REGMAP_DEF_
struct device;
struct regmap;
#endif
/*
* Log register events
*/
LTTNG_TRACEPOINT_EVENT_CLASS(regmap_reg,
TP_PROTO(struct regmap *map, unsigned int reg,
unsigned int val),
TP_ARGS(map, reg, val),
TP_FIELDS(
ctf_string(name, regmap_name(map))
ctf_integer(unsigned int, reg, reg)
ctf_integer(unsigned int, val, val)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_write,
TP_PROTO(struct regmap *map, unsigned int reg,
unsigned int val),
TP_ARGS(map, reg, val)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read,
TP_PROTO(struct regmap *map, unsigned int reg,
unsigned int val),
TP_ARGS(map, reg, val)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read_cache,
TP_PROTO(struct regmap *map, unsigned int reg,
unsigned int val),
TP_ARGS(map, reg, val)
)
LTTNG_TRACEPOINT_EVENT_CLASS(regmap_block,
TP_PROTO(struct regmap *map, unsigned int reg, int count),
TP_ARGS(map, reg, count),
TP_FIELDS(
ctf_string(name, regmap_name(map))
ctf_integer(unsigned int, reg, reg)
ctf_integer(int, count, count)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_start,
TP_PROTO(struct regmap *map, unsigned int reg, int count),
TP_ARGS(map, reg, count)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_done,
TP_PROTO(struct regmap *map, unsigned int reg, int count),
TP_ARGS(map, reg, count)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_start,
TP_PROTO(struct regmap *map, unsigned int reg, int count),
TP_ARGS(map, reg, count)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_done,
TP_PROTO(struct regmap *map, unsigned int reg, int count),
TP_ARGS(map, reg, count)
)
LTTNG_TRACEPOINT_EVENT_MAP(regcache_sync,
regmap_regcache_sync,
TP_PROTO(struct regmap *map, const char *type,
const char *status),
TP_ARGS(map, type, status),
TP_FIELDS(
ctf_string(name, regmap_name(map))
ctf_string(status, status)
ctf_string(type, type)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(regmap_bool,
TP_PROTO(struct regmap *map, bool flag),
TP_ARGS(map, flag),
TP_FIELDS(
ctf_string(name, regmap_name(map))
ctf_integer(int, flag, flag)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_only,
TP_PROTO(struct regmap *map, bool flag),
TP_ARGS(map, flag)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_bypass,
TP_PROTO(struct regmap *map, bool flag),
TP_ARGS(map, flag)
)
#endif /* LTTNG_TRACE_REGMAP_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,118 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM regulator
#if !defined(LTTNG_TRACE_REGULATOR_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_REGULATOR_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/ktime.h>
/*
* Events which just log themselves and the regulator name for enable/disable
* type tracking.
*/
LTTNG_TRACEPOINT_EVENT_CLASS(regulator_basic,
TP_PROTO(const char *name),
TP_ARGS(name),
TP_FIELDS(
ctf_string(name, name)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regulator_basic, regulator_enable,
TP_PROTO(const char *name),
TP_ARGS(name)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regulator_basic, regulator_enable_delay,
TP_PROTO(const char *name),
TP_ARGS(name)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regulator_basic, regulator_enable_complete,
TP_PROTO(const char *name),
TP_ARGS(name)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regulator_basic, regulator_disable,
TP_PROTO(const char *name),
TP_ARGS(name)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regulator_basic, regulator_disable_complete,
TP_PROTO(const char *name),
TP_ARGS(name)
)
/*
* Events that take a range of numerical values, mostly for voltages
* and so on.
*/
LTTNG_TRACEPOINT_EVENT_CLASS(regulator_range,
TP_PROTO(const char *name, int min, int max),
TP_ARGS(name, min, max),
TP_FIELDS(
ctf_string(name, name)
ctf_integer(int, min, min)
ctf_integer(int, max, max)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regulator_range, regulator_set_voltage,
TP_PROTO(const char *name, int min, int max),
TP_ARGS(name, min, max)
)
/*
* Events that take a single value, mostly for readback and refcounts.
*/
LTTNG_TRACEPOINT_EVENT_CLASS(regulator_value,
TP_PROTO(const char *name, unsigned int val),
TP_ARGS(name, val),
TP_FIELDS(
ctf_string(name, name)
ctf_integer(unsigned int, val, val)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(regulator_value, regulator_set_voltage_complete,
TP_PROTO(const char *name, unsigned int value),
TP_ARGS(name, value)
)
#endif /* _TRACE_POWER_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,366 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM rpc
#if !defined(LTTNG_TRACE_RPC_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_RPC_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/sunrpc/sched.h>
#include <linux/sunrpc/clnt.h>
#ifndef ONCE_LTTNG_RPC_H
#define ONCE_LTTNG_RPC_H
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
static inline
int lttng_get_clid(const struct rpc_task *task)
{
struct rpc_clnt *tk_client;
tk_client = task->tk_client;
if (!tk_client)
return -1;
/*
* The cl_clid field is always initialized to positive signed
* integers. Negative signed integer values are treated as
* errors.
*/
return (int) tk_client->cl_clid;
}
#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) */
#endif /* ONCE_LTTNG_RPC_H */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
TP_PROTO(const struct rpc_task *task),
TP_ARGS(task),
TP_FIELDS(
ctf_integer(unsigned int, task_id, task->tk_pid)
ctf_integer(int, client_id, lttng_get_clid(task))
ctf_integer(int, status, task->tk_status)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
TP_PROTO(const struct rpc_task *task),
TP_ARGS(task)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
TP_PROTO(const struct rpc_task *task),
TP_ARGS(task)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
TP_PROTO(struct rpc_task *task),
TP_ARGS(task),
TP_FIELDS(
ctf_integer(unsigned int, task_id, task->tk_pid)
ctf_integer(int, client_id, lttng_get_clid(task))
ctf_integer(int, status, task->tk_status)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
TP_PROTO(struct rpc_task *task),
TP_ARGS(task)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
TP_PROTO(struct rpc_task *task),
TP_ARGS(task)
)
#else
LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
TP_PROTO(struct rpc_task *task),
TP_ARGS(task),
TP_FIELDS(
ctf_integer_hex(const struct rpc_task *, task, task)
ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
ctf_integer(int, status, task->tk_status)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
TP_PROTO(struct rpc_task *task),
TP_ARGS(task)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
TP_PROTO(struct rpc_task *task),
TP_ARGS(task)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_connect_status,
TP_PROTO(const struct rpc_task *task),
TP_ARGS(task)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
TP_PROTO(const struct rpc_task *task),
TP_ARGS(task),
TP_FIELDS(
ctf_integer(unsigned int, task_id, task->tk_pid)
ctf_integer(int, client_id, lttng_get_clid(task))
ctf_integer(int, status, task->tk_status)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
TP_PROTO(struct rpc_task *task, int status),
TP_ARGS(task, status),
TP_FIELDS(
ctf_integer(unsigned int, task_id, task->tk_pid)
ctf_integer(int, client_id, lttng_get_clid(task))
ctf_integer(int, status, status)
)
)
#else
LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
TP_PROTO(struct rpc_task *task, int status),
TP_ARGS(task, status),
TP_FIELDS(
ctf_integer_hex(const struct rpc_task *, task, task)
ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
ctf_integer(int, status, status)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
TP_PROTO(const struct rpc_task *task, const void *action),
TP_ARGS(task, action),
TP_FIELDS(
ctf_integer(unsigned int, task_id, task->tk_pid)
ctf_integer(int, client_id, lttng_get_clid(task))
ctf_integer_hex(const void *, action, action)
ctf_integer(unsigned long, runstate, task->tk_runstate)
ctf_integer(int, status, task->tk_status)
ctf_integer(unsigned short, flags, task->tk_flags)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_begin,
TP_PROTO(const struct rpc_task *task, const void *action),
TP_ARGS(task, action)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_run_action,
TP_PROTO(const struct rpc_task *task, const void *action),
TP_ARGS(task, action)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_complete,
TP_PROTO(const struct rpc_task *task, const void *action),
TP_ARGS(task, action)
)
LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
TP_PROTO(const struct rpc_task *task, const struct rpc_wait_queue *q),
TP_ARGS(task, q),
TP_FIELDS(
ctf_integer(unsigned int, task_id, task->tk_pid)
ctf_integer(int, client_id, lttng_get_clid(task))
ctf_integer(unsigned long, timeout, task->tk_timeout)
ctf_integer(unsigned long, runstate, task->tk_runstate)
ctf_integer(int, status, task->tk_status)
ctf_integer(unsigned short, flags, task->tk_flags)
ctf_string(q_name, rpc_qname(q))
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_sleep,
TP_PROTO(const struct rpc_task *task, const struct rpc_wait_queue *q),
TP_ARGS(task, q)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
TP_PROTO(const struct rpc_task *task, const struct rpc_wait_queue *q),
TP_ARGS(task, q)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
TP_ARGS(clnt, task, action),
TP_FIELDS(
ctf_integer(unsigned int, task_id, task->tk_pid)
ctf_integer(int, client_id, lttng_get_clid(task))
ctf_integer_hex(const void *, action, action)
ctf_integer(unsigned long, runstate, task->tk_runstate)
ctf_integer(int, status, task->tk_status)
ctf_integer(unsigned short, flags, task->tk_flags)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_begin,
TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
TP_ARGS(clnt, task, action)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_run_action,
TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
TP_ARGS(clnt, task, action)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_complete,
TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
TP_ARGS(clnt, task, action)
)
LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
TP_ARGS(clnt, task, q),
TP_FIELDS(
ctf_integer(unsigned int, task_id, task->tk_pid)
ctf_integer(int, client_id, lttng_get_clid(task))
ctf_integer(unsigned long, timeout, task->tk_timeout)
ctf_integer(unsigned long, runstate, task->tk_runstate)
ctf_integer(int, status, task->tk_status)
ctf_integer(unsigned short, flags, task->tk_flags)
ctf_string(q_name, rpc_qname(q))
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_sleep,
TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
TP_ARGS(clnt, task, q)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
TP_ARGS(clnt, task, q)
)
#else
LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
TP_ARGS(clnt, task, action),
TP_FIELDS(
ctf_integer_hex(const struct rpc_clnt *, clnt, clnt)
ctf_integer_hex(const struct rpc_task *, task, task)
ctf_integer_hex(const void *, action, action)
ctf_integer(unsigned long, runstate, task->tk_runstate)
ctf_integer(int, status, task->tk_status)
ctf_integer(unsigned short, flags, task->tk_flags)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_begin,
TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
TP_ARGS(clnt, task, action)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_run_action,
TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
TP_ARGS(clnt, task, action)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_complete,
TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
TP_ARGS(clnt, task, action)
)
LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
TP_ARGS(clnt, task, q),
TP_FIELDS(
ctf_integer_hex(const struct rpc_clnt *, clnt, clnt)
ctf_integer_hex(const struct rpc_task *, task, task)
ctf_integer(unsigned long, timeout, task->tk_timeout)
ctf_integer(unsigned long, runstate, task->tk_runstate)
ctf_integer(int, status, task->tk_status)
ctf_integer(unsigned short, flags, task->tk_flags)
ctf_string(q_name, rpc_qname(q))
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_sleep,
TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
TP_ARGS(clnt, task, q)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
TP_ARGS(clnt, task, q)
)
#endif
#endif /* LTTNG_TRACE_RPC_H */
#include <probes/define_trace.h>

View File

@ -0,0 +1,73 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM rpm
#if !defined(LTTNG_TRACE_RUNTIME_POWER_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_RUNTIME_POWER_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/ktime.h>
#ifndef _TRACE_RPM_DEF_
#define _TRACE_RPM_DEF_
struct device;
#endif
/*
* The rpm_internal events are used for tracing some important
* runtime pm internal functions.
*/
LTTNG_TRACEPOINT_EVENT_CLASS(rpm_internal,
TP_PROTO(struct device *dev, int flags),
TP_ARGS(dev, flags),
TP_FIELDS(
ctf_string(name, dev_name(dev))
ctf_integer(int, flags, flags)
ctf_integer(int, usage_count, atomic_read(&dev->power.usage_count))
ctf_integer(int, disable_depth, dev->power.disable_depth)
ctf_integer(int, runtime_auto, dev->power.runtime_auto)
ctf_integer(int, request_pending, dev->power.request_pending)
ctf_integer(int, irq_safe, dev->power.irq_safe)
ctf_integer(int, child_count, atomic_read(&dev->power.child_count))
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpm_internal, rpm_suspend,
TP_PROTO(struct device *dev, int flags),
TP_ARGS(dev, flags)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpm_internal, rpm_resume,
TP_PROTO(struct device *dev, int flags),
TP_ARGS(dev, flags)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(rpm_internal, rpm_idle,
TP_PROTO(struct device *dev, int flags),
TP_ARGS(dev, flags)
)
LTTNG_TRACEPOINT_EVENT(rpm_return_int,
TP_PROTO(struct device *dev, unsigned long ip, int ret),
TP_ARGS(dev, ip, ret),
TP_FIELDS(
ctf_string(name, dev_name(dev))
ctf_integer(unsigned long, ip, ip)
ctf_integer(int, ret, ret)
)
)
#endif /* LTTNG_TRACE_RUNTIME_POWER_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,655 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM sched
#if !defined(LTTNG_TRACE_SCHED_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_SCHED_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/sched.h>
#include <linux/pid_namespace.h>
#include <linux/binfmts.h>
#include <linux/version.h>
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
#include <linux/sched/rt.h>
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0))
#define lttng_proc_inum ns.inum
#else
#define lttng_proc_inum proc_inum
#endif
#define LTTNG_MAX_PID_NS_LEVEL 32
#ifndef _TRACE_SCHED_DEF_
#define _TRACE_SCHED_DEF_
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
static inline long __trace_sched_switch_state(bool preempt, struct task_struct *p)
{
unsigned int state;
#ifdef CONFIG_SCHED_DEBUG
BUG_ON(p != current);
#endif /* CONFIG_SCHED_DEBUG */
/*
* Preemption ignores task state, therefore preempted tasks are always
* RUNNING (we will not have dequeued if state != RUNNING).
*/
if (preempt)
return TASK_REPORT_MAX;
/*
* task_state_index() uses fls() and returns a value from 0-8 range.
* Decrement it by 1 (except TASK_RUNNING state i.e 0) before using
* it for left shift operation to get the correct task->state
* mapping.
*/
state = task_state_index(p);
return state ? (1 << (state - 1)) : state;
}
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
static inline long __trace_sched_switch_state(bool preempt, struct task_struct *p)
{
unsigned int state;
#ifdef CONFIG_SCHED_DEBUG
BUG_ON(p != current);
#endif /* CONFIG_SCHED_DEBUG */
/*
* Preemption ignores task state, therefore preempted tasks are always
* RUNNING (we will not have dequeued if state != RUNNING).
*/
if (preempt)
return TASK_REPORT_MAX;
/*
* __get_task_state() uses fls() and returns a value from 0-8 range.
* Decrement it by 1 (except TASK_RUNNING state i.e 0) before using
* it for left shift operation to get the correct task->state
* mapping.
*/
state = __get_task_state(p);
return state ? (1 << (state - 1)) : state;
}
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0))
static inline long __trace_sched_switch_state(bool preempt, struct task_struct *p)
{
#ifdef CONFIG_SCHED_DEBUG
BUG_ON(p != current);
#endif /* CONFIG_SCHED_DEBUG */
/*
* Preemption ignores task state, therefore preempted tasks are always RUNNING
* (we will not have dequeued if state != RUNNING).
*/
return preempt ? TASK_RUNNING | TASK_STATE_MAX : p->state;
}
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0))
static inline long __trace_sched_switch_state(struct task_struct *p)
{
long state = p->state;
#ifdef CONFIG_PREEMPT
#ifdef CONFIG_SCHED_DEBUG
BUG_ON(p != current);
#endif /* CONFIG_SCHED_DEBUG */
/*
* For all intents and purposes a preempted task is a running task.
*/
if (preempt_count() & PREEMPT_ACTIVE)
state = TASK_RUNNING | TASK_STATE_MAX;
#endif /* CONFIG_PREEMPT */
return state;
}
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0))
static inline long __trace_sched_switch_state(struct task_struct *p)
{
long state = p->state;
#ifdef CONFIG_PREEMPT
/*
* For all intents and purposes a preempted task is a running task.
*/
if (task_preempt_count(p) & PREEMPT_ACTIVE)
state = TASK_RUNNING | TASK_STATE_MAX;
#endif
return state;
}
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
static inline long __trace_sched_switch_state(struct task_struct *p)
{
long state = p->state;
#ifdef CONFIG_PREEMPT
/*
* For all intents and purposes a preempted task is a running task.
*/
if (task_thread_info(p)->preempt_count & PREEMPT_ACTIVE)
state = TASK_RUNNING | TASK_STATE_MAX;
#endif
return state;
}
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
static inline long __trace_sched_switch_state(struct task_struct *p)
{
long state = p->state;
#ifdef CONFIG_PREEMPT
/*
* For all intents and purposes a preempted task is a running task.
*/
if (task_thread_info(p)->preempt_count & PREEMPT_ACTIVE)
state = TASK_RUNNING;
#endif
return state;
}
#endif
#endif /* _TRACE_SCHED_DEF_ */
/*
* Tracepoint for calling kthread_stop, performed to end a kthread:
*/
LTTNG_TRACEPOINT_EVENT(sched_kthread_stop,
TP_PROTO(struct task_struct *t),
TP_ARGS(t),
TP_FIELDS(
ctf_array_text(char, comm, t->comm, TASK_COMM_LEN)
ctf_integer(pid_t, tid, t->pid)
)
)
/*
* Tracepoint for the return value of the kthread stopping:
*/
LTTNG_TRACEPOINT_EVENT(sched_kthread_stop_ret,
TP_PROTO(int ret),
TP_ARGS(ret),
TP_FIELDS(
ctf_integer(int, ret, ret)
)
)
/*
* Tracepoint for waking up a task:
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0) || \
LTTNG_RT_KERNEL_RANGE(4,1,10,11, 4,2,0,0) || \
LTTNG_RT_KERNEL_RANGE(3,18,27,26, 3,19,0,0) || \
LTTNG_RT_KERNEL_RANGE(3,14,61,63, 3,15,0,0) || \
LTTNG_RT_KERNEL_RANGE(3,12,54,73, 3,13,0,0) || \
LTTNG_RT_KERNEL_RANGE(3,10,97,106, 3,11,0,0) || \
LTTNG_RT_KERNEL_RANGE(3,4,110,139, 3,5,0,0) || \
LTTNG_RT_KERNEL_RANGE(3,2,77,111, 3,3,0,0))
LTTNG_TRACEPOINT_EVENT_CLASS(sched_wakeup_template,
TP_PROTO(struct task_struct *p),
TP_ARGS(p),
TP_FIELDS(
ctf_array_text(char, comm, p->comm, TASK_COMM_LEN)
ctf_integer(pid_t, tid, p->pid)
ctf_integer(int, prio, p->prio - MAX_RT_PRIO)
ctf_integer(int, target_cpu, task_cpu(p))
)
)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)) */
LTTNG_TRACEPOINT_EVENT_CLASS(sched_wakeup_template,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
TP_PROTO(struct task_struct *p, int success),
TP_ARGS(p, success),
#else
TP_PROTO(struct rq *rq, struct task_struct *p, int success),
TP_ARGS(rq, p, success),
#endif
TP_FIELDS(
ctf_array_text(char, comm, p->comm, TASK_COMM_LEN)
ctf_integer(pid_t, tid, p->pid)
ctf_integer(int, prio, p->prio - MAX_RT_PRIO)
ctf_integer(int, success, success)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
ctf_integer(int, target_cpu, task_cpu(p))
#endif
)
)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)) */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0) || \
LTTNG_RT_KERNEL_RANGE(4,1,10,11, 4,2,0,0) || \
LTTNG_RT_KERNEL_RANGE(3,18,27,26, 3,19,0,0) || \
LTTNG_RT_KERNEL_RANGE(3,14,61,63, 3,15,0,0) || \
LTTNG_RT_KERNEL_RANGE(3,12,54,73, 3,13,0,0) || \
LTTNG_RT_KERNEL_RANGE(3,10,97,106, 3,11,0,0) || \
LTTNG_RT_KERNEL_RANGE(3,4,110,139, 3,5,0,0) || \
LTTNG_RT_KERNEL_RANGE(3,2,77,111, 3,3,0,0))
/*
* Tracepoint called when waking a task; this tracepoint is guaranteed to be
* called from the waking context.
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_wakeup_template, sched_waking,
TP_PROTO(struct task_struct *p),
TP_ARGS(p))
/*
* Tracepoint called when the task is actually woken; p->state == TASK_RUNNNG.
* It it not always called from the waking context.
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_wakeup_template, sched_wakeup,
TP_PROTO(struct task_struct *p),
TP_ARGS(p))
/*
* Tracepoint for waking up a new task:
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_wakeup_template, sched_wakeup_new,
TP_PROTO(struct task_struct *p),
TP_ARGS(p))
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_wakeup_template, sched_wakeup,
TP_PROTO(struct task_struct *p, int success),
TP_ARGS(p, success))
/*
* Tracepoint for waking up a new task:
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_wakeup_template, sched_wakeup_new,
TP_PROTO(struct task_struct *p, int success),
TP_ARGS(p, success))
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_wakeup_template, sched_wakeup,
TP_PROTO(struct rq *rq, struct task_struct *p, int success),
TP_ARGS(rq, p, success))
/*
* Tracepoint for waking up a new task:
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_wakeup_template, sched_wakeup_new,
TP_PROTO(struct rq *rq, struct task_struct *p, int success),
TP_ARGS(rq, p, success))
#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
/*
* Tracepoint for task switches, performed by the scheduler:
*/
LTTNG_TRACEPOINT_EVENT(sched_switch,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0))
TP_PROTO(bool preempt,
struct task_struct *prev,
struct task_struct *next),
TP_ARGS(preempt, prev, next),
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
TP_PROTO(struct task_struct *prev,
struct task_struct *next),
TP_ARGS(prev, next),
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
TP_PROTO(struct rq *rq, struct task_struct *prev,
struct task_struct *next),
TP_ARGS(rq, prev, next),
#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
TP_FIELDS(
ctf_array_text(char, prev_comm, prev->comm, TASK_COMM_LEN)
ctf_integer(pid_t, prev_tid, prev->pid)
ctf_integer(int, prev_prio, prev->prio - MAX_RT_PRIO)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0))
ctf_integer(long, prev_state, __trace_sched_switch_state(preempt, prev))
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
ctf_integer(long, prev_state, __trace_sched_switch_state(prev))
#else
ctf_integer(long, prev_state, prev->state)
#endif
ctf_array_text(char, next_comm, next->comm, TASK_COMM_LEN)
ctf_integer(pid_t, next_tid, next->pid)
ctf_integer(int, next_prio, next->prio - MAX_RT_PRIO)
)
)
/*
* Tracepoint for a task being migrated:
*/
LTTNG_TRACEPOINT_EVENT(sched_migrate_task,
TP_PROTO(struct task_struct *p, int dest_cpu),
TP_ARGS(p, dest_cpu),
TP_FIELDS(
ctf_array_text(char, comm, p->comm, TASK_COMM_LEN)
ctf_integer(pid_t, tid, p->pid)
ctf_integer(int, prio, p->prio - MAX_RT_PRIO)
ctf_integer(int, orig_cpu, task_cpu(p))
ctf_integer(int, dest_cpu, dest_cpu)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(sched_process_template,
TP_PROTO(struct task_struct *p),
TP_ARGS(p),
TP_FIELDS(
ctf_array_text(char, comm, p->comm, TASK_COMM_LEN)
ctf_integer(pid_t, tid, p->pid)
ctf_integer(int, prio, p->prio - MAX_RT_PRIO)
)
)
/*
* Tracepoint for freeing a task:
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_process_template, sched_process_free,
TP_PROTO(struct task_struct *p),
TP_ARGS(p))
/*
* Tracepoint for a task exiting:
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_process_template, sched_process_exit,
TP_PROTO(struct task_struct *p),
TP_ARGS(p))
/*
* Tracepoint for waiting on task to unschedule:
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_process_template, sched_wait_task,
TP_PROTO(struct task_struct *p),
TP_ARGS(p))
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_process_template, sched_wait_task,
TP_PROTO(struct rq *rq, struct task_struct *p),
TP_ARGS(rq, p))
#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) */
/*
* Tracepoint for a waiting task:
*/
LTTNG_TRACEPOINT_EVENT(sched_process_wait,
TP_PROTO(struct pid *pid),
TP_ARGS(pid),
TP_FIELDS(
ctf_array_text(char, comm, current->comm, TASK_COMM_LEN)
ctf_integer(pid_t, tid, pid_nr(pid))
ctf_integer(int, prio, current->prio - MAX_RT_PRIO)
)
)
/*
* Tracepoint for do_fork.
* Saving both TID and PID information, especially for the child, allows
* trace analyzers to distinguish between creation of a new process and
* creation of a new thread. Newly created processes will have child_tid
* == child_pid, while creation of a thread yields to child_tid !=
* child_pid.
*/
LTTNG_TRACEPOINT_EVENT_CODE(sched_process_fork,
TP_PROTO(struct task_struct *parent, struct task_struct *child),
TP_ARGS(parent, child),
TP_locvar(
pid_t vtids[LTTNG_MAX_PID_NS_LEVEL];
unsigned int ns_level;
),
TP_code_pre(
if (child) {
struct pid *child_pid;
unsigned int i;
child_pid = task_pid(child);
tp_locvar->ns_level =
min_t(unsigned int, child_pid->level + 1,
LTTNG_MAX_PID_NS_LEVEL);
for (i = 0; i < tp_locvar->ns_level; i++)
tp_locvar->vtids[i] = child_pid->numbers[i].nr;
}
),
TP_FIELDS(
ctf_array_text(char, parent_comm, parent->comm, TASK_COMM_LEN)
ctf_integer(pid_t, parent_tid, parent->pid)
ctf_integer(pid_t, parent_pid, parent->tgid)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
ctf_integer(unsigned int, parent_ns_inum,
({
unsigned int parent_ns_inum = 0;
if (parent) {
struct pid_namespace *pid_ns;
pid_ns = task_active_pid_ns(parent);
if (pid_ns)
parent_ns_inum =
pid_ns->lttng_proc_inum;
}
parent_ns_inum;
}))
#endif
ctf_array_text(char, child_comm, child->comm, TASK_COMM_LEN)
ctf_integer(pid_t, child_tid, child->pid)
ctf_sequence(pid_t, vtids, tp_locvar->vtids, u8, tp_locvar->ns_level)
ctf_integer(pid_t, child_pid, child->tgid)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
ctf_integer(unsigned int, child_ns_inum,
({
unsigned int child_ns_inum = 0;
if (child) {
struct pid_namespace *pid_ns;
pid_ns = task_active_pid_ns(child);
if (pid_ns)
child_ns_inum =
pid_ns->lttng_proc_inum;
}
child_ns_inum;
}))
#endif
),
TP_code_post()
)
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))
/*
* Tracepoint for sending a signal:
*/
LTTNG_TRACEPOINT_EVENT(sched_signal_send,
TP_PROTO(int sig, struct task_struct *p),
TP_ARGS(sig, p),
TP_FIELDS(
ctf_integer(int, sig, sig)
ctf_array_text(char, comm, p->comm, TASK_COMM_LEN)
ctf_integer(pid_t, tid, p->pid)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
/*
* Tracepoint for exec:
*/
LTTNG_TRACEPOINT_EVENT(sched_process_exec,
TP_PROTO(struct task_struct *p, pid_t old_pid,
struct linux_binprm *bprm),
TP_ARGS(p, old_pid, bprm),
TP_FIELDS(
ctf_string(filename, bprm->filename)
ctf_integer(pid_t, tid, p->pid)
ctf_integer(pid_t, old_tid, old_pid)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
/*
* XXX the below sched_stat tracepoints only apply to SCHED_OTHER/BATCH/IDLE
* adding sched_stat support to SCHED_FIFO/RR would be welcome.
*/
LTTNG_TRACEPOINT_EVENT_CLASS(sched_stat_template,
TP_PROTO(struct task_struct *tsk, u64 delay),
TP_ARGS(tsk, delay),
TP_FIELDS(
ctf_array_text(char, comm, tsk->comm, TASK_COMM_LEN)
ctf_integer(pid_t, tid, tsk->pid)
ctf_integer(u64, delay, delay)
)
)
/*
* Tracepoint for accounting wait time (time the task is runnable
* but not actually running due to scheduler contention).
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_stat_template, sched_stat_wait,
TP_PROTO(struct task_struct *tsk, u64 delay),
TP_ARGS(tsk, delay))
/*
* Tracepoint for accounting sleep time (time the task is not runnable,
* including iowait, see below).
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_stat_template, sched_stat_sleep,
TP_PROTO(struct task_struct *tsk, u64 delay),
TP_ARGS(tsk, delay))
/*
* Tracepoint for accounting iowait time (time the task is not runnable
* due to waiting on IO to complete).
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_stat_template, sched_stat_iowait,
TP_PROTO(struct task_struct *tsk, u64 delay),
TP_ARGS(tsk, delay))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
/*
* Tracepoint for accounting blocked time (time the task is in uninterruptible).
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_stat_template, sched_stat_blocked,
TP_PROTO(struct task_struct *tsk, u64 delay),
TP_ARGS(tsk, delay))
#endif
/*
* Tracepoint for accounting runtime (time the task is executing
* on a CPU).
*/
LTTNG_TRACEPOINT_EVENT(sched_stat_runtime,
TP_PROTO(struct task_struct *tsk, u64 runtime, u64 vruntime),
TP_ARGS(tsk, runtime, vruntime),
TP_FIELDS(
ctf_array_text(char, comm, tsk->comm, TASK_COMM_LEN)
ctf_integer(pid_t, tid, tsk->pid)
ctf_integer(u64, runtime, runtime)
ctf_integer(u64, vruntime, vruntime)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0) || \
LTTNG_RT_KERNEL_RANGE(4,9,27,18, 4,10,0,0) || \
LTTNG_RT_KERNEL_RANGE(4,11,5,1, 4,12,0,0))
/*
* Tracepoint for showing priority inheritance modifying a tasks
* priority.
*/
LTTNG_TRACEPOINT_EVENT(sched_pi_setprio,
TP_PROTO(struct task_struct *tsk, struct task_struct *pi_task),
TP_ARGS(tsk, pi_task),
TP_FIELDS(
ctf_array_text(char, comm, tsk->comm, TASK_COMM_LEN)
ctf_integer(pid_t, tid, tsk->pid)
ctf_integer(int, oldprio, tsk->prio - MAX_RT_PRIO)
ctf_integer(int, newprio, pi_task ? pi_task->prio - MAX_RT_PRIO : tsk->prio - MAX_RT_PRIO)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
/*
* Tracepoint for showing priority inheritance modifying a tasks
* priority.
*/
LTTNG_TRACEPOINT_EVENT(sched_pi_setprio,
TP_PROTO(struct task_struct *tsk, int newprio),
TP_ARGS(tsk, newprio),
TP_FIELDS(
ctf_array_text(char, comm, tsk->comm, TASK_COMM_LEN)
ctf_integer(pid_t, tid, tsk->pid)
ctf_integer(int, oldprio, tsk->prio - MAX_RT_PRIO)
ctf_integer(int, newprio, newprio - MAX_RT_PRIO)
)
)
#endif
#endif /* LTTNG_TRACE_SCHED_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,498 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM scsi
#if !defined(LTTNG_TRACE_SCSI_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_SCSI_H
#include <probes/lttng-tracepoint-event.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_host.h>
#include <linux/trace_seq.h>
#include <linux/version.h>
#ifndef _TRACE_SCSI_DEF
#define _TRACE_SCSI_DEF
#define scsi_opcode_name(opcode) { opcode, #opcode }
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0) \
|| LTTNG_SLE_KERNEL_RANGE(4,4,9,36,0,0, 4,5,0,0,0,0))
#define show_opcode_name(val) \
__print_symbolic(val, \
scsi_opcode_name(TEST_UNIT_READY), \
scsi_opcode_name(REZERO_UNIT), \
scsi_opcode_name(REQUEST_SENSE), \
scsi_opcode_name(FORMAT_UNIT), \
scsi_opcode_name(READ_BLOCK_LIMITS), \
scsi_opcode_name(REASSIGN_BLOCKS), \
scsi_opcode_name(INITIALIZE_ELEMENT_STATUS), \
scsi_opcode_name(READ_6), \
scsi_opcode_name(WRITE_6), \
scsi_opcode_name(SEEK_6), \
scsi_opcode_name(READ_REVERSE), \
scsi_opcode_name(WRITE_FILEMARKS), \
scsi_opcode_name(SPACE), \
scsi_opcode_name(INQUIRY), \
scsi_opcode_name(RECOVER_BUFFERED_DATA), \
scsi_opcode_name(MODE_SELECT), \
scsi_opcode_name(RESERVE), \
scsi_opcode_name(RELEASE), \
scsi_opcode_name(COPY), \
scsi_opcode_name(ERASE), \
scsi_opcode_name(MODE_SENSE), \
scsi_opcode_name(START_STOP), \
scsi_opcode_name(RECEIVE_DIAGNOSTIC), \
scsi_opcode_name(SEND_DIAGNOSTIC), \
scsi_opcode_name(ALLOW_MEDIUM_REMOVAL), \
scsi_opcode_name(SET_WINDOW), \
scsi_opcode_name(READ_CAPACITY), \
scsi_opcode_name(READ_10), \
scsi_opcode_name(WRITE_10), \
scsi_opcode_name(SEEK_10), \
scsi_opcode_name(POSITION_TO_ELEMENT), \
scsi_opcode_name(WRITE_VERIFY), \
scsi_opcode_name(VERIFY), \
scsi_opcode_name(SEARCH_HIGH), \
scsi_opcode_name(SEARCH_EQUAL), \
scsi_opcode_name(SEARCH_LOW), \
scsi_opcode_name(SET_LIMITS), \
scsi_opcode_name(PRE_FETCH), \
scsi_opcode_name(READ_POSITION), \
scsi_opcode_name(SYNCHRONIZE_CACHE), \
scsi_opcode_name(LOCK_UNLOCK_CACHE), \
scsi_opcode_name(READ_DEFECT_DATA), \
scsi_opcode_name(MEDIUM_SCAN), \
scsi_opcode_name(COMPARE), \
scsi_opcode_name(COPY_VERIFY), \
scsi_opcode_name(WRITE_BUFFER), \
scsi_opcode_name(READ_BUFFER), \
scsi_opcode_name(UPDATE_BLOCK), \
scsi_opcode_name(READ_LONG), \
scsi_opcode_name(WRITE_LONG), \
scsi_opcode_name(CHANGE_DEFINITION), \
scsi_opcode_name(WRITE_SAME), \
scsi_opcode_name(UNMAP), \
scsi_opcode_name(READ_TOC), \
scsi_opcode_name(LOG_SELECT), \
scsi_opcode_name(LOG_SENSE), \
scsi_opcode_name(XDWRITEREAD_10), \
scsi_opcode_name(MODE_SELECT_10), \
scsi_opcode_name(RESERVE_10), \
scsi_opcode_name(RELEASE_10), \
scsi_opcode_name(MODE_SENSE_10), \
scsi_opcode_name(PERSISTENT_RESERVE_IN), \
scsi_opcode_name(PERSISTENT_RESERVE_OUT), \
scsi_opcode_name(VARIABLE_LENGTH_CMD), \
scsi_opcode_name(REPORT_LUNS), \
scsi_opcode_name(MAINTENANCE_IN), \
scsi_opcode_name(MAINTENANCE_OUT), \
scsi_opcode_name(MOVE_MEDIUM), \
scsi_opcode_name(EXCHANGE_MEDIUM), \
scsi_opcode_name(READ_12), \
scsi_opcode_name(WRITE_12), \
scsi_opcode_name(WRITE_VERIFY_12), \
scsi_opcode_name(SEARCH_HIGH_12), \
scsi_opcode_name(SEARCH_EQUAL_12), \
scsi_opcode_name(SEARCH_LOW_12), \
scsi_opcode_name(READ_ELEMENT_STATUS), \
scsi_opcode_name(SEND_VOLUME_TAG), \
scsi_opcode_name(WRITE_LONG_2), \
scsi_opcode_name(READ_16), \
scsi_opcode_name(WRITE_16), \
scsi_opcode_name(VERIFY_16), \
scsi_opcode_name(WRITE_SAME_16), \
scsi_opcode_name(ZBC_OUT), \
scsi_opcode_name(ZBC_IN), \
scsi_opcode_name(SERVICE_ACTION_IN_16), \
scsi_opcode_name(READ_32), \
scsi_opcode_name(WRITE_32), \
scsi_opcode_name(WRITE_SAME_32), \
scsi_opcode_name(ATA_16), \
scsi_opcode_name(ATA_12))
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0) \
|| LTTNG_RHEL_KERNEL_RANGE(3,10,0,327,0,0, 3,11,0,0,0,0))
#define show_opcode_name(val) \
__print_symbolic(val, \
scsi_opcode_name(TEST_UNIT_READY), \
scsi_opcode_name(REZERO_UNIT), \
scsi_opcode_name(REQUEST_SENSE), \
scsi_opcode_name(FORMAT_UNIT), \
scsi_opcode_name(READ_BLOCK_LIMITS), \
scsi_opcode_name(REASSIGN_BLOCKS), \
scsi_opcode_name(INITIALIZE_ELEMENT_STATUS), \
scsi_opcode_name(READ_6), \
scsi_opcode_name(WRITE_6), \
scsi_opcode_name(SEEK_6), \
scsi_opcode_name(READ_REVERSE), \
scsi_opcode_name(WRITE_FILEMARKS), \
scsi_opcode_name(SPACE), \
scsi_opcode_name(INQUIRY), \
scsi_opcode_name(RECOVER_BUFFERED_DATA), \
scsi_opcode_name(MODE_SELECT), \
scsi_opcode_name(RESERVE), \
scsi_opcode_name(RELEASE), \
scsi_opcode_name(COPY), \
scsi_opcode_name(ERASE), \
scsi_opcode_name(MODE_SENSE), \
scsi_opcode_name(START_STOP), \
scsi_opcode_name(RECEIVE_DIAGNOSTIC), \
scsi_opcode_name(SEND_DIAGNOSTIC), \
scsi_opcode_name(ALLOW_MEDIUM_REMOVAL), \
scsi_opcode_name(SET_WINDOW), \
scsi_opcode_name(READ_CAPACITY), \
scsi_opcode_name(READ_10), \
scsi_opcode_name(WRITE_10), \
scsi_opcode_name(SEEK_10), \
scsi_opcode_name(POSITION_TO_ELEMENT), \
scsi_opcode_name(WRITE_VERIFY), \
scsi_opcode_name(VERIFY), \
scsi_opcode_name(SEARCH_HIGH), \
scsi_opcode_name(SEARCH_EQUAL), \
scsi_opcode_name(SEARCH_LOW), \
scsi_opcode_name(SET_LIMITS), \
scsi_opcode_name(PRE_FETCH), \
scsi_opcode_name(READ_POSITION), \
scsi_opcode_name(SYNCHRONIZE_CACHE), \
scsi_opcode_name(LOCK_UNLOCK_CACHE), \
scsi_opcode_name(READ_DEFECT_DATA), \
scsi_opcode_name(MEDIUM_SCAN), \
scsi_opcode_name(COMPARE), \
scsi_opcode_name(COPY_VERIFY), \
scsi_opcode_name(WRITE_BUFFER), \
scsi_opcode_name(READ_BUFFER), \
scsi_opcode_name(UPDATE_BLOCK), \
scsi_opcode_name(READ_LONG), \
scsi_opcode_name(WRITE_LONG), \
scsi_opcode_name(CHANGE_DEFINITION), \
scsi_opcode_name(WRITE_SAME), \
scsi_opcode_name(UNMAP), \
scsi_opcode_name(READ_TOC), \
scsi_opcode_name(LOG_SELECT), \
scsi_opcode_name(LOG_SENSE), \
scsi_opcode_name(XDWRITEREAD_10), \
scsi_opcode_name(MODE_SELECT_10), \
scsi_opcode_name(RESERVE_10), \
scsi_opcode_name(RELEASE_10), \
scsi_opcode_name(MODE_SENSE_10), \
scsi_opcode_name(PERSISTENT_RESERVE_IN), \
scsi_opcode_name(PERSISTENT_RESERVE_OUT), \
scsi_opcode_name(VARIABLE_LENGTH_CMD), \
scsi_opcode_name(REPORT_LUNS), \
scsi_opcode_name(MAINTENANCE_IN), \
scsi_opcode_name(MAINTENANCE_OUT), \
scsi_opcode_name(MOVE_MEDIUM), \
scsi_opcode_name(EXCHANGE_MEDIUM), \
scsi_opcode_name(READ_12), \
scsi_opcode_name(WRITE_12), \
scsi_opcode_name(WRITE_VERIFY_12), \
scsi_opcode_name(SEARCH_HIGH_12), \
scsi_opcode_name(SEARCH_EQUAL_12), \
scsi_opcode_name(SEARCH_LOW_12), \
scsi_opcode_name(READ_ELEMENT_STATUS), \
scsi_opcode_name(SEND_VOLUME_TAG), \
scsi_opcode_name(WRITE_LONG_2), \
scsi_opcode_name(READ_16), \
scsi_opcode_name(WRITE_16), \
scsi_opcode_name(VERIFY_16), \
scsi_opcode_name(WRITE_SAME_16), \
scsi_opcode_name(SERVICE_ACTION_IN_16), \
scsi_opcode_name(SAI_READ_CAPACITY_16), \
scsi_opcode_name(SAI_GET_LBA_STATUS), \
scsi_opcode_name(MI_REPORT_TARGET_PGS), \
scsi_opcode_name(MO_SET_TARGET_PGS), \
scsi_opcode_name(READ_32), \
scsi_opcode_name(WRITE_32), \
scsi_opcode_name(WRITE_SAME_32), \
scsi_opcode_name(ATA_16), \
scsi_opcode_name(ATA_12))
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0)) */
#define show_opcode_name(val) \
__print_symbolic(val, \
scsi_opcode_name(TEST_UNIT_READY), \
scsi_opcode_name(REZERO_UNIT), \
scsi_opcode_name(REQUEST_SENSE), \
scsi_opcode_name(FORMAT_UNIT), \
scsi_opcode_name(READ_BLOCK_LIMITS), \
scsi_opcode_name(REASSIGN_BLOCKS), \
scsi_opcode_name(INITIALIZE_ELEMENT_STATUS), \
scsi_opcode_name(READ_6), \
scsi_opcode_name(WRITE_6), \
scsi_opcode_name(SEEK_6), \
scsi_opcode_name(READ_REVERSE), \
scsi_opcode_name(WRITE_FILEMARKS), \
scsi_opcode_name(SPACE), \
scsi_opcode_name(INQUIRY), \
scsi_opcode_name(RECOVER_BUFFERED_DATA), \
scsi_opcode_name(MODE_SELECT), \
scsi_opcode_name(RESERVE), \
scsi_opcode_name(RELEASE), \
scsi_opcode_name(COPY), \
scsi_opcode_name(ERASE), \
scsi_opcode_name(MODE_SENSE), \
scsi_opcode_name(START_STOP), \
scsi_opcode_name(RECEIVE_DIAGNOSTIC), \
scsi_opcode_name(SEND_DIAGNOSTIC), \
scsi_opcode_name(ALLOW_MEDIUM_REMOVAL), \
scsi_opcode_name(SET_WINDOW), \
scsi_opcode_name(READ_CAPACITY), \
scsi_opcode_name(READ_10), \
scsi_opcode_name(WRITE_10), \
scsi_opcode_name(SEEK_10), \
scsi_opcode_name(POSITION_TO_ELEMENT), \
scsi_opcode_name(WRITE_VERIFY), \
scsi_opcode_name(VERIFY), \
scsi_opcode_name(SEARCH_HIGH), \
scsi_opcode_name(SEARCH_EQUAL), \
scsi_opcode_name(SEARCH_LOW), \
scsi_opcode_name(SET_LIMITS), \
scsi_opcode_name(PRE_FETCH), \
scsi_opcode_name(READ_POSITION), \
scsi_opcode_name(SYNCHRONIZE_CACHE), \
scsi_opcode_name(LOCK_UNLOCK_CACHE), \
scsi_opcode_name(READ_DEFECT_DATA), \
scsi_opcode_name(MEDIUM_SCAN), \
scsi_opcode_name(COMPARE), \
scsi_opcode_name(COPY_VERIFY), \
scsi_opcode_name(WRITE_BUFFER), \
scsi_opcode_name(READ_BUFFER), \
scsi_opcode_name(UPDATE_BLOCK), \
scsi_opcode_name(READ_LONG), \
scsi_opcode_name(WRITE_LONG), \
scsi_opcode_name(CHANGE_DEFINITION), \
scsi_opcode_name(WRITE_SAME), \
scsi_opcode_name(UNMAP), \
scsi_opcode_name(READ_TOC), \
scsi_opcode_name(LOG_SELECT), \
scsi_opcode_name(LOG_SENSE), \
scsi_opcode_name(XDWRITEREAD_10), \
scsi_opcode_name(MODE_SELECT_10), \
scsi_opcode_name(RESERVE_10), \
scsi_opcode_name(RELEASE_10), \
scsi_opcode_name(MODE_SENSE_10), \
scsi_opcode_name(PERSISTENT_RESERVE_IN), \
scsi_opcode_name(PERSISTENT_RESERVE_OUT), \
scsi_opcode_name(VARIABLE_LENGTH_CMD), \
scsi_opcode_name(REPORT_LUNS), \
scsi_opcode_name(MAINTENANCE_IN), \
scsi_opcode_name(MAINTENANCE_OUT), \
scsi_opcode_name(MOVE_MEDIUM), \
scsi_opcode_name(EXCHANGE_MEDIUM), \
scsi_opcode_name(READ_12), \
scsi_opcode_name(WRITE_12), \
scsi_opcode_name(WRITE_VERIFY_12), \
scsi_opcode_name(SEARCH_HIGH_12), \
scsi_opcode_name(SEARCH_EQUAL_12), \
scsi_opcode_name(SEARCH_LOW_12), \
scsi_opcode_name(READ_ELEMENT_STATUS), \
scsi_opcode_name(SEND_VOLUME_TAG), \
scsi_opcode_name(WRITE_LONG_2), \
scsi_opcode_name(READ_16), \
scsi_opcode_name(WRITE_16), \
scsi_opcode_name(VERIFY_16), \
scsi_opcode_name(WRITE_SAME_16), \
scsi_opcode_name(SERVICE_ACTION_IN), \
scsi_opcode_name(SAI_READ_CAPACITY_16), \
scsi_opcode_name(SAI_GET_LBA_STATUS), \
scsi_opcode_name(MI_REPORT_TARGET_PGS), \
scsi_opcode_name(MO_SET_TARGET_PGS), \
scsi_opcode_name(READ_32), \
scsi_opcode_name(WRITE_32), \
scsi_opcode_name(WRITE_SAME_32), \
scsi_opcode_name(ATA_16), \
scsi_opcode_name(ATA_12))
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0)) */
#define scsi_hostbyte_name(result) { result, #result }
#define show_hostbyte_name(val) \
__print_symbolic(val, \
scsi_hostbyte_name(DID_OK), \
scsi_hostbyte_name(DID_NO_CONNECT), \
scsi_hostbyte_name(DID_BUS_BUSY), \
scsi_hostbyte_name(DID_TIME_OUT), \
scsi_hostbyte_name(DID_BAD_TARGET), \
scsi_hostbyte_name(DID_ABORT), \
scsi_hostbyte_name(DID_PARITY), \
scsi_hostbyte_name(DID_ERROR), \
scsi_hostbyte_name(DID_RESET), \
scsi_hostbyte_name(DID_BAD_INTR), \
scsi_hostbyte_name(DID_PASSTHROUGH), \
scsi_hostbyte_name(DID_SOFT_ERROR), \
scsi_hostbyte_name(DID_IMM_RETRY), \
scsi_hostbyte_name(DID_REQUEUE), \
scsi_hostbyte_name(DID_TRANSPORT_DISRUPTED), \
scsi_hostbyte_name(DID_TRANSPORT_FAILFAST))
#define scsi_driverbyte_name(result) { result, #result }
#define show_driverbyte_name(val) \
__print_symbolic(val, \
scsi_driverbyte_name(DRIVER_OK), \
scsi_driverbyte_name(DRIVER_BUSY), \
scsi_driverbyte_name(DRIVER_SOFT), \
scsi_driverbyte_name(DRIVER_MEDIA), \
scsi_driverbyte_name(DRIVER_ERROR), \
scsi_driverbyte_name(DRIVER_INVALID), \
scsi_driverbyte_name(DRIVER_TIMEOUT), \
scsi_driverbyte_name(DRIVER_HARD), \
scsi_driverbyte_name(DRIVER_SENSE))
#define scsi_msgbyte_name(result) { result, #result }
#define show_msgbyte_name(val) \
__print_symbolic(val, \
scsi_msgbyte_name(COMMAND_COMPLETE), \
scsi_msgbyte_name(EXTENDED_MESSAGE), \
scsi_msgbyte_name(SAVE_POINTERS), \
scsi_msgbyte_name(RESTORE_POINTERS), \
scsi_msgbyte_name(DISCONNECT), \
scsi_msgbyte_name(INITIATOR_ERROR), \
scsi_msgbyte_name(ABORT_TASK_SET), \
scsi_msgbyte_name(MESSAGE_REJECT), \
scsi_msgbyte_name(NOP), \
scsi_msgbyte_name(MSG_PARITY_ERROR), \
scsi_msgbyte_name(LINKED_CMD_COMPLETE), \
scsi_msgbyte_name(LINKED_FLG_CMD_COMPLETE), \
scsi_msgbyte_name(TARGET_RESET), \
scsi_msgbyte_name(ABORT_TASK), \
scsi_msgbyte_name(CLEAR_TASK_SET), \
scsi_msgbyte_name(INITIATE_RECOVERY), \
scsi_msgbyte_name(RELEASE_RECOVERY), \
scsi_msgbyte_name(CLEAR_ACA), \
scsi_msgbyte_name(LOGICAL_UNIT_RESET), \
scsi_msgbyte_name(SIMPLE_QUEUE_TAG), \
scsi_msgbyte_name(HEAD_OF_QUEUE_TAG), \
scsi_msgbyte_name(ORDERED_QUEUE_TAG), \
scsi_msgbyte_name(IGNORE_WIDE_RESIDUE), \
scsi_msgbyte_name(ACA), \
scsi_msgbyte_name(QAS_REQUEST), \
scsi_msgbyte_name(BUS_DEVICE_RESET), \
scsi_msgbyte_name(ABORT))
#define scsi_statusbyte_name(result) { result, #result }
#define show_statusbyte_name(val) \
__print_symbolic(val, \
scsi_statusbyte_name(SAM_STAT_GOOD), \
scsi_statusbyte_name(SAM_STAT_CHECK_CONDITION), \
scsi_statusbyte_name(SAM_STAT_CONDITION_MET), \
scsi_statusbyte_name(SAM_STAT_BUSY), \
scsi_statusbyte_name(SAM_STAT_INTERMEDIATE), \
scsi_statusbyte_name(SAM_STAT_INTERMEDIATE_CONDITION_MET), \
scsi_statusbyte_name(SAM_STAT_RESERVATION_CONFLICT), \
scsi_statusbyte_name(SAM_STAT_COMMAND_TERMINATED), \
scsi_statusbyte_name(SAM_STAT_TASK_SET_FULL), \
scsi_statusbyte_name(SAM_STAT_ACA_ACTIVE), \
scsi_statusbyte_name(SAM_STAT_TASK_ABORTED))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
#define scsi_prot_op_name(result) { result, #result }
#define show_prot_op_name(val) \
__print_symbolic(val, \
scsi_prot_op_name(SCSI_PROT_NORMAL), \
scsi_prot_op_name(SCSI_PROT_READ_INSERT), \
scsi_prot_op_name(SCSI_PROT_WRITE_STRIP), \
scsi_prot_op_name(SCSI_PROT_READ_STRIP), \
scsi_prot_op_name(SCSI_PROT_WRITE_INSERT), \
scsi_prot_op_name(SCSI_PROT_READ_PASS), \
scsi_prot_op_name(SCSI_PROT_WRITE_PASS))
#endif
const char *scsi_trace_parse_cdb(struct trace_seq*, unsigned char*, int);
#define __parse_cdb(cdb, len) scsi_trace_parse_cdb(p, cdb, len)
#endif
LTTNG_TRACEPOINT_EVENT(scsi_dispatch_cmd_start,
TP_PROTO(struct scsi_cmnd *cmd),
TP_ARGS(cmd),
TP_FIELDS(
ctf_integer(unsigned int, host_no, cmd->device->host->host_no)
ctf_integer(unsigned int, channel, cmd->device->channel)
ctf_integer(unsigned int, id, cmd->device->id)
ctf_integer(unsigned int, lun, cmd->device->lun)
ctf_integer(unsigned int, opcode, cmd->cmnd[0])
ctf_integer(unsigned int, cmd_len, cmd->cmd_len)
ctf_integer(unsigned int, data_sglen, scsi_sg_count(cmd))
ctf_integer(unsigned int, prot_sglen, scsi_prot_sg_count(cmd))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
ctf_integer(unsigned char, prot_op, scsi_get_prot_op(cmd))
#endif
ctf_sequence_hex(unsigned char, cmnd, cmd->cmnd, u32, cmd->cmd_len)
)
)
LTTNG_TRACEPOINT_EVENT(scsi_dispatch_cmd_error,
TP_PROTO(struct scsi_cmnd *cmd, int rtn),
TP_ARGS(cmd, rtn),
TP_FIELDS(
ctf_integer(unsigned int, host_no, cmd->device->host->host_no)
ctf_integer(unsigned int, channel, cmd->device->channel)
ctf_integer(unsigned int, id, cmd->device->id)
ctf_integer(unsigned int, lun, cmd->device->lun)
ctf_integer(int, rtn, rtn)
ctf_integer(unsigned int, opcode, cmd->cmnd[0])
ctf_integer(unsigned int, cmd_len, cmd->cmd_len)
ctf_integer(unsigned int, data_sglen, scsi_sg_count(cmd))
ctf_integer(unsigned int, prot_sglen, scsi_prot_sg_count(cmd))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
ctf_integer(unsigned char, prot_op, scsi_get_prot_op(cmd))
#endif
ctf_sequence_hex(unsigned char, cmnd, cmd->cmnd, u32, cmd->cmd_len)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(scsi_cmd_done_timeout_template,
TP_PROTO(struct scsi_cmnd *cmd),
TP_ARGS(cmd),
TP_FIELDS(
ctf_integer(unsigned int, host_no, cmd->device->host->host_no)
ctf_integer(unsigned int, channel, cmd->device->channel)
ctf_integer(unsigned int, id, cmd->device->id)
ctf_integer(unsigned int, lun, cmd->device->lun)
ctf_integer(int, result, cmd->result)
ctf_integer(unsigned int, opcode, cmd->cmnd[0])
ctf_integer(unsigned int, cmd_len, cmd->cmd_len)
ctf_integer(unsigned int, data_sglen, scsi_sg_count(cmd))
ctf_integer(unsigned int, prot_sglen, scsi_prot_sg_count(cmd))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
ctf_integer(unsigned char, prot_op, scsi_get_prot_op(cmd))
#endif
ctf_sequence_hex(unsigned char, cmnd, cmd->cmnd, u32, cmd->cmd_len)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(scsi_cmd_done_timeout_template, scsi_dispatch_cmd_done,
TP_PROTO(struct scsi_cmnd *cmd),
TP_ARGS(cmd))
LTTNG_TRACEPOINT_EVENT_INSTANCE(scsi_cmd_done_timeout_template, scsi_dispatch_cmd_timeout,
TP_PROTO(struct scsi_cmnd *cmd),
TP_ARGS(cmd))
LTTNG_TRACEPOINT_EVENT(scsi_eh_wakeup,
TP_PROTO(struct Scsi_Host *shost),
TP_ARGS(shost),
TP_FIELDS(
ctf_integer(unsigned int, host_no, shost->host_no)
)
)
#endif /* LTTNG_TRACE_SCSI_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,202 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM signal
#if !defined(LTTNG_TRACE_SIGNAL_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_SIGNAL_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/version.h>
#ifndef _TRACE_SIGNAL_DEF
#define _TRACE_SIGNAL_DEF
#include <linux/signal.h>
#include <linux/sched.h>
#undef LTTNG_FIELDS_SIGINFO
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0) || \
LTTNG_RHEL_KERNEL_RANGE(4,18,0,147,0,0, 4,19,0,0,0,0))
#define LTTNG_FIELDS_SIGINFO(info) \
ctf_integer(int, errno, \
(info == SEND_SIG_NOINFO || info == SEND_SIG_PRIV) ? \
0 : \
info->si_errno) \
ctf_integer(int, code, \
(info == SEND_SIG_NOINFO) ? \
SI_USER : \
((info == SEND_SIG_PRIV) ? SI_KERNEL : info->si_code))
#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0) */
#define LTTNG_FIELDS_SIGINFO(info) \
ctf_integer(int, errno, \
(info == SEND_SIG_NOINFO || info == SEND_SIG_FORCED || info == SEND_SIG_PRIV) ? \
0 : \
info->si_errno) \
ctf_integer(int, code, \
(info == SEND_SIG_NOINFO || info == SEND_SIG_FORCED) ? \
SI_USER : \
((info == SEND_SIG_PRIV) ? SI_KERNEL : info->si_code))
#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0) */
#endif /* _TRACE_SIGNAL_DEF */
/**
* signal_generate - called when a signal is generated
* @sig: signal number
* @info: pointer to struct siginfo
* @task: pointer to struct task_struct
*
* Current process sends a 'sig' signal to 'task' process with
* 'info' siginfo. If 'info' is SEND_SIG_NOINFO or SEND_SIG_PRIV,
* 'info' is not a pointer and you can't access its field. Instead,
* SEND_SIG_NOINFO means that si_code is SI_USER, and SEND_SIG_PRIV
* means that si_code is SI_KERNEL.
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0) || \
LTTNG_RHEL_KERNEL_RANGE(4,18,0,147,0,0, 4,19,0,0,0,0))
LTTNG_TRACEPOINT_EVENT(signal_generate,
TP_PROTO(int sig, struct kernel_siginfo *info, struct task_struct *task,
int group, int result),
TP_ARGS(sig, info, task, group, result),
TP_FIELDS(
ctf_integer(int, sig, sig)
LTTNG_FIELDS_SIGINFO(info)
ctf_array_text(char, comm, task->comm, TASK_COMM_LEN)
ctf_integer(pid_t, pid, task->pid)
ctf_integer(int, group, group)
ctf_integer(int, result, result)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
LTTNG_TRACEPOINT_EVENT(signal_generate,
TP_PROTO(int sig, struct siginfo *info, struct task_struct *task,
int group, int result),
TP_ARGS(sig, info, task, group, result),
TP_FIELDS(
ctf_integer(int, sig, sig)
LTTNG_FIELDS_SIGINFO(info)
ctf_array_text(char, comm, task->comm, TASK_COMM_LEN)
ctf_integer(pid_t, pid, task->pid)
ctf_integer(int, group, group)
ctf_integer(int, result, result)
)
)
#else
LTTNG_TRACEPOINT_EVENT(signal_generate,
TP_PROTO(int sig, struct siginfo *info, struct task_struct *task),
TP_ARGS(sig, info, task),
TP_FIELDS(
ctf_integer(int, sig, sig)
LTTNG_FIELDS_SIGINFO(info)
ctf_array_text(char, comm, task->comm, TASK_COMM_LEN)
ctf_integer(pid_t, pid, task->pid)
)
)
#endif
/**
* signal_deliver - called when a signal is delivered
* @sig: signal number
* @info: pointer to struct siginfo
* @ka: pointer to struct k_sigaction
*
* A 'sig' signal is delivered to current process with 'info' siginfo,
* and it will be handled by 'ka'. ka->sa.sa_handler can be SIG_IGN or
* SIG_DFL.
* Note that some signals reported by signal_generate tracepoint can be
* lost, ignored or modified (by debugger) before hitting this tracepoint.
* This means, this can show which signals are actually delivered, but
* matching generated signals and delivered signals may not be correct.
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0) || \
LTTNG_RHEL_KERNEL_RANGE(4,18,0,147,0,0, 4,19,0,0,0,0))
LTTNG_TRACEPOINT_EVENT(signal_deliver,
TP_PROTO(int sig, struct kernel_siginfo *info, struct k_sigaction *ka),
TP_ARGS(sig, info, ka),
TP_FIELDS(
ctf_integer(int, sig, sig)
LTTNG_FIELDS_SIGINFO(info)
ctf_integer(unsigned long, sa_handler, (unsigned long) ka->sa.sa_handler)
ctf_integer(unsigned long, sa_flags, ka->sa.sa_flags)
)
)
#else
LTTNG_TRACEPOINT_EVENT(signal_deliver,
TP_PROTO(int sig, struct siginfo *info, struct k_sigaction *ka),
TP_ARGS(sig, info, ka),
TP_FIELDS(
ctf_integer(int, sig, sig)
LTTNG_FIELDS_SIGINFO(info)
ctf_integer(unsigned long, sa_handler, (unsigned long) ka->sa.sa_handler)
ctf_integer(unsigned long, sa_flags, ka->sa.sa_flags)
)
)
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0))
LTTNG_TRACEPOINT_EVENT_CLASS(signal_queue_overflow,
TP_PROTO(int sig, int group, struct siginfo *info),
TP_ARGS(sig, group, info),
TP_FIELDS(
ctf_integer(int, sig, sig)
ctf_integer(int, group, group)
LTTNG_FIELDS_SIGINFO(info)
)
)
/**
* signal_overflow_fail - called when signal queue is overflow
* @sig: signal number
* @group: signal to process group or not (bool)
* @info: pointer to struct siginfo
*
* Kernel fails to generate 'sig' signal with 'info' siginfo, because
* siginfo queue is overflow, and the signal is dropped.
* 'group' is not 0 if the signal will be sent to a process group.
* 'sig' is always one of RT signals.
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(signal_queue_overflow, signal_overflow_fail,
TP_PROTO(int sig, int group, struct siginfo *info),
TP_ARGS(sig, group, info)
)
/**
* signal_lose_info - called when siginfo is lost
* @sig: signal number
* @group: signal to process group or not (bool)
* @info: pointer to struct siginfo
*
* Kernel generates 'sig' signal but loses 'info' siginfo, because siginfo
* queue is overflow.
* 'group' is not 0 if the signal will be sent to a process group.
* 'sig' is always one of non-RT signals.
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(signal_queue_overflow, signal_lose_info,
TP_PROTO(int sig, int group, struct siginfo *info),
TP_ARGS(sig, group, info)
)
#endif
#endif /* LTTNG_TRACE_SIGNAL_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,63 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM skb
#if !defined(LTTNG_TRACE_SKB_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_SKB_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/skbuff.h>
#include <linux/netdevice.h>
#include <linux/version.h>
/*
* Tracepoint for free an sk_buff:
*/
LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb,
skb_kfree,
TP_PROTO(struct sk_buff *skb, void *location),
TP_ARGS(skb, location),
TP_FIELDS(
ctf_integer_hex(void *, skbaddr, skb)
ctf_integer_hex(void *, location, location)
ctf_integer_network(unsigned short, protocol, skb->protocol)
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
LTTNG_TRACEPOINT_EVENT_MAP(consume_skb,
skb_consume,
TP_PROTO(struct sk_buff *skb),
TP_ARGS(skb),
TP_FIELDS(
ctf_integer_hex(void *, skbaddr, skb)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32))
LTTNG_TRACEPOINT_EVENT(skb_copy_datagram_iovec,
TP_PROTO(const struct sk_buff *skb, int len),
TP_ARGS(skb, len),
TP_FIELDS(
ctf_integer_hex(const void *, skbaddr, skb)
ctf_integer(int, len, len)
)
)
#endif
#endif /* LTTNG_TRACE_SKB_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,85 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM sock
#if !defined(LTTNG_TRACE_SOCK_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_SOCK_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/version.h>
#include <net/sock.h>
LTTNG_TRACEPOINT_EVENT(sock_rcvqueue_full,
TP_PROTO(struct sock *sk, struct sk_buff *skb),
TP_ARGS(sk, skb),
TP_FIELDS(
ctf_integer(int, rmem_alloc, atomic_read(&sk->sk_rmem_alloc))
ctf_integer(unsigned int, truesize, skb->truesize)
ctf_integer(int, sk_rcvbuf, sk->sk_rcvbuf)
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0))
LTTNG_TRACEPOINT_EVENT(sock_exceed_buf_limit,
TP_PROTO(struct sock *sk, struct proto *prot, long allocated, int kind),
TP_ARGS(sk, prot, allocated, kind),
TP_FIELDS(
ctf_string(name, prot->name)
ctf_array(long, sysctl_mem, prot->sysctl_mem, 3)
ctf_integer(long, allocated, allocated)
ctf_integer(int, sysctl_rmem, sk_get_rmem0(sk, prot))
ctf_integer(int, rmem_alloc, atomic_read(&sk->sk_rmem_alloc))
ctf_integer(int, sysctl_wmem, sk_get_wmem0(sk, prot))
ctf_integer(int, wmem_alloc, refcount_read(&sk->sk_wmem_alloc))
ctf_integer(int, wmem_queued, sk->sk_wmem_queued)
ctf_integer(int, kind, kind)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
LTTNG_TRACEPOINT_EVENT(sock_exceed_buf_limit,
TP_PROTO(struct sock *sk, struct proto *prot, long allocated),
TP_ARGS(sk, prot, allocated),
TP_FIELDS(
ctf_string(name, prot->name)
ctf_array(long, sysctl_mem, prot->sysctl_mem, 3)
ctf_integer(long, allocated, allocated)
ctf_integer(int, sysctl_rmem, sk_get_rmem0(sk, prot))
ctf_integer(int, rmem_alloc, atomic_read(&sk->sk_rmem_alloc))
)
)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)) */
LTTNG_TRACEPOINT_EVENT(sock_exceed_buf_limit,
TP_PROTO(struct sock *sk, struct proto *prot, long allocated),
TP_ARGS(sk, prot, allocated),
TP_FIELDS(
ctf_string(name, prot->name)
ctf_array(long, sysctl_mem, prot->sysctl_mem, 3)
ctf_integer(long, allocated, allocated)
ctf_integer(int, sysctl_rmem, prot->sysctl_rmem[0])
ctf_integer(int, rmem_alloc, atomic_read(&sk->sk_rmem_alloc))
)
)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)) */
#endif /* LTTNG_TRACE_SOCK_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,397 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM timer
#if !defined(LTTNG_TRACE_TIMER_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_TIMER_H
#include <probes/lttng-tracepoint-event.h>
#ifndef _TRACE_TIMER_DEF_
#define _TRACE_TIMER_DEF_
#include <linux/hrtimer.h>
#include <linux/timer.h>
#include <linux/version.h>
struct timer_list;
#endif /* _TRACE_TIMER_DEF_ */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
#define lttng_ktime_get_tv64(kt) (kt)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
#define lttng_ktime_get_tv64(kt) ((kt).tv64)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
LTTNG_TRACEPOINT_EVENT_CLASS(timer_class,
TP_PROTO(struct timer_list *timer),
TP_ARGS(timer),
TP_FIELDS(
ctf_integer_hex(void *, timer, timer)
)
)
/**
* timer_init - called when the timer is initialized
* @timer: pointer to struct timer_list
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_init,
TP_PROTO(struct timer_list *timer),
TP_ARGS(timer)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0) || \
LTTNG_RHEL_KERNEL_RANGE(3,10,0,957,0,0, 3,11,0,0,0,0))
/**
* timer_start - called when the timer is started
* @timer: pointer to struct timer_list
* @expires: the timers expiry time
* @flags: the timers expiry time
*/
LTTNG_TRACEPOINT_EVENT(timer_start,
TP_PROTO(struct timer_list *timer, unsigned long expires,
unsigned int flags),
TP_ARGS(timer, expires, flags),
TP_FIELDS(
ctf_integer_hex(void *, timer, timer)
ctf_integer_hex(void *, function, timer->function)
ctf_integer(unsigned long, expires, expires)
ctf_integer(unsigned long, now, jiffies)
ctf_integer(unsigned int, flags, flags)
)
)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) */
/**
* timer_start - called when the timer is started
* @timer: pointer to struct timer_list
* @expires: the timers expiry time
*/
LTTNG_TRACEPOINT_EVENT(timer_start,
TP_PROTO(struct timer_list *timer, unsigned long expires),
TP_ARGS(timer, expires),
TP_FIELDS(
ctf_integer_hex(void *, timer, timer)
ctf_integer_hex(void *, function, timer->function)
ctf_integer(unsigned long, expires, expires)
ctf_integer(unsigned long, now, jiffies)
)
)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,2,0))
/**
* timer_expire_entry - called immediately before the timer callback
* @timer: pointer to struct timer_list
*
* Allows to determine the timer latency.
*/
LTTNG_TRACEPOINT_EVENT(timer_expire_entry,
TP_PROTO(struct timer_list *timer, unsigned long baseclk),
TP_ARGS(timer, baseclk),
TP_FIELDS(
ctf_integer_hex(void *, timer, timer)
ctf_integer(unsigned long, now, jiffies)
ctf_integer_hex(void *, function, timer->function)
ctf_integer(unsigned long, baseclk, baseclk)
)
)
#else
/**
* timer_expire_entry - called immediately before the timer callback
* @timer: pointer to struct timer_list
*
* Allows to determine the timer latency.
*/
LTTNG_TRACEPOINT_EVENT(timer_expire_entry,
TP_PROTO(struct timer_list *timer),
TP_ARGS(timer),
TP_FIELDS(
ctf_integer_hex(void *, timer, timer)
ctf_integer(unsigned long, now, jiffies)
ctf_integer_hex(void *, function, timer->function)
)
)
#endif
/**
* timer_expire_exit - called immediately after the timer callback returns
* @timer: pointer to struct timer_list
*
* When used in combination with the timer_expire_entry tracepoint we can
* determine the runtime of the timer callback function.
*
* NOTE: Do NOT derefernce timer in TP_fast_assign. The pointer might
* be invalid. We solely track the pointer.
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_expire_exit,
TP_PROTO(struct timer_list *timer),
TP_ARGS(timer)
)
/**
* timer_cancel - called when the timer is canceled
* @timer: pointer to struct timer_list
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_cancel,
TP_PROTO(struct timer_list *timer),
TP_ARGS(timer)
)
/**
* hrtimer_init - called when the hrtimer is initialized
* @timer: pointer to struct hrtimer
* @clockid: the hrtimers clock
* @mode: the hrtimers mode
*/
LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_init,
timer_hrtimer_init,
TP_PROTO(struct hrtimer *hrtimer, clockid_t clockid,
enum hrtimer_mode mode),
TP_ARGS(hrtimer, clockid, mode),
TP_FIELDS(
ctf_integer_hex(void *, hrtimer, hrtimer)
ctf_integer(clockid_t, clockid, clockid)
ctf_integer(enum hrtimer_mode, mode, mode)
)
)
/**
* hrtimer_start - called when the hrtimer is started
* @timer: pointer to struct hrtimer
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,16,0) || \
LTTNG_RT_KERNEL_RANGE(4,14,0,0, 4,15,0,0))
LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_start,
timer_hrtimer_start,
TP_PROTO(struct hrtimer *hrtimer, enum hrtimer_mode mode),
TP_ARGS(hrtimer, mode),
TP_FIELDS(
ctf_integer_hex(void *, hrtimer, hrtimer)
ctf_integer_hex(void *, function, hrtimer->function)
ctf_integer(s64, expires,
lttng_ktime_get_tv64(hrtimer_get_expires(hrtimer)))
ctf_integer(s64, softexpires,
lttng_ktime_get_tv64(hrtimer_get_softexpires(hrtimer)))
ctf_integer(enum hrtimer_mode, mode, mode)
)
)
#else
LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_start,
timer_hrtimer_start,
TP_PROTO(struct hrtimer *hrtimer),
TP_ARGS(hrtimer),
TP_FIELDS(
ctf_integer_hex(void *, hrtimer, hrtimer)
ctf_integer_hex(void *, function, hrtimer->function)
ctf_integer(s64, expires,
lttng_ktime_get_tv64(hrtimer_get_expires(hrtimer)))
ctf_integer(s64, softexpires,
lttng_ktime_get_tv64(hrtimer_get_softexpires(hrtimer)))
)
)
#endif
/**
* htimmer_expire_entry - called immediately before the hrtimer callback
* @timer: pointer to struct hrtimer
* @now: pointer to variable which contains current time of the
* timers base.
*
* Allows to determine the timer latency.
*/
LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_expire_entry,
timer_hrtimer_expire_entry,
TP_PROTO(struct hrtimer *hrtimer, ktime_t *now),
TP_ARGS(hrtimer, now),
TP_FIELDS(
ctf_integer_hex(void *, hrtimer, hrtimer)
ctf_integer(s64, now, lttng_ktime_get_tv64(*now))
ctf_integer_hex(void *, function, hrtimer->function)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(timer_hrtimer_class,
TP_PROTO(struct hrtimer *hrtimer),
TP_ARGS(hrtimer),
TP_FIELDS(
ctf_integer_hex(void *, hrtimer, hrtimer)
)
)
/**
* hrtimer_expire_exit - called immediately after the hrtimer callback returns
* @timer: pointer to struct hrtimer
*
* When used in combination with the hrtimer_expire_entry tracepoint we can
* determine the runtime of the callback function.
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(timer_hrtimer_class, hrtimer_expire_exit,
timer_hrtimer_expire_exit,
TP_PROTO(struct hrtimer *hrtimer),
TP_ARGS(hrtimer)
)
/**
* hrtimer_cancel - called when the hrtimer is canceled
* @hrtimer: pointer to struct hrtimer
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(timer_hrtimer_class, hrtimer_cancel,
timer_hrtimer_cancel,
TP_PROTO(struct hrtimer *hrtimer),
TP_ARGS(hrtimer)
)
/**
* itimer_state - called when itimer is started or canceled
* @which: name of the interval timer
* @value: the itimers value, itimer is canceled if value->it_value is
* zero, otherwise it is started
* @expires: the itimers expiry time
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
LTTNG_TRACEPOINT_EVENT_MAP(itimer_state,
timer_itimer_state,
TP_PROTO(int which, const struct itimerspec64 *const value,
unsigned long long expires),
TP_ARGS(which, value, expires),
TP_FIELDS(
ctf_integer(int, which, which)
ctf_integer(unsigned long long, expires, expires)
ctf_integer(long, value_sec, value->it_value.tv_sec)
ctf_integer(long, value_nsec, value->it_value.tv_nsec)
ctf_integer(long, interval_sec, value->it_interval.tv_sec)
ctf_integer(long, interval_nsec, value->it_interval.tv_nsec)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
LTTNG_TRACEPOINT_EVENT_MAP(itimer_state,
timer_itimer_state,
TP_PROTO(int which, const struct itimerval *const value,
unsigned long long expires),
TP_ARGS(which, value, expires),
TP_FIELDS(
ctf_integer(int, which, which)
ctf_integer(unsigned long long, expires, expires)
ctf_integer(long, value_sec, value->it_value.tv_sec)
ctf_integer(long, value_usec, value->it_value.tv_usec)
ctf_integer(long, interval_sec, value->it_interval.tv_sec)
ctf_integer(long, interval_usec, value->it_interval.tv_usec)
)
)
#else /* if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */
LTTNG_TRACEPOINT_EVENT_MAP(itimer_state,
timer_itimer_state,
TP_PROTO(int which, const struct itimerval *const value,
cputime_t expires),
TP_ARGS(which, value, expires),
TP_FIELDS(
ctf_integer(int, which, which)
ctf_integer(cputime_t, expires, expires)
ctf_integer(long, value_sec, value->it_value.tv_sec)
ctf_integer(long, value_usec, value->it_value.tv_usec)
ctf_integer(long, interval_sec, value->it_interval.tv_sec)
ctf_integer(long, interval_usec, value->it_interval.tv_usec)
)
)
#endif /* #else (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */
/**
* itimer_expire - called when itimer expires
* @which: type of the interval timer
* @pid: pid of the process which owns the timer
* @now: current time, used to calculate the latency of itimer
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
LTTNG_TRACEPOINT_EVENT_MAP(itimer_expire,
timer_itimer_expire,
TP_PROTO(int which, struct pid *pid, unsigned long long now),
TP_ARGS(which, pid, now),
TP_FIELDS(
ctf_integer(int , which, which)
ctf_integer(pid_t, pid, pid_nr(pid))
ctf_integer(unsigned long long, now, now)
)
)
#else /* if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */
LTTNG_TRACEPOINT_EVENT_MAP(itimer_expire,
timer_itimer_expire,
TP_PROTO(int which, struct pid *pid, cputime_t now),
TP_ARGS(which, pid, now),
TP_FIELDS(
ctf_integer(int , which, which)
ctf_integer(pid_t, pid, pid_nr(pid))
ctf_integer(cputime_t, now, now)
)
)
#endif /* #else (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */
#endif /* LTTNG_TRACE_TIMER_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,26 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM udp
#if !defined(LTTNG_TRACE_UDP_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_UDP_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/udp.h>
LTTNG_TRACEPOINT_EVENT(udp_fail_queue_rcv_skb,
TP_PROTO(int rc, struct sock *sk),
TP_ARGS(rc, sk),
TP_FIELDS(
ctf_integer(int, rc, rc)
ctf_integer(__u16, lport, inet_sk(sk)->inet_num)
)
)
#endif /* LTTNG_TRACE_UDP_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,82 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM v4l2
#if !defined(LTTNG_TRACE_V4L2_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_V4L2_H
#include <probes/lttng-tracepoint-event.h>
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
LTTNG_TRACEPOINT_EVENT_CLASS(v4l2_class,
TP_PROTO(int minor, struct v4l2_buffer *buf),
TP_ARGS(minor, buf),
TP_FIELDS(
ctf_integer(int, minor, minor)
ctf_integer(u32, index, buf->index)
ctf_integer(u32, type, buf->type)
ctf_integer(u32, bytesused, buf->bytesused)
ctf_integer(u32, flags, buf->flags)
ctf_integer(u32, field, buf->field)
ctf_integer(s64, timestamp, v4l2_buffer_get_timestamp(buf))
ctf_integer(u32, timecode_type, buf->timecode.type)
ctf_integer(u32, timecode_flags, buf->timecode.flags)
ctf_integer(u8, timecode_frames, buf->timecode.frames)
ctf_integer(u8, timecode_seconds, buf->timecode.seconds)
ctf_integer(u8, timecode_minutes, buf->timecode.minutes)
ctf_integer(u8, timecode_hours, buf->timecode.hours)
ctf_array(u8, timecode_userbits, buf->timecode.userbits, 4)
ctf_integer(u32, sequence, buf->sequence)
)
)
#else
LTTNG_TRACEPOINT_EVENT_CLASS(v4l2_class,
TP_PROTO(int minor, struct v4l2_buffer *buf),
TP_ARGS(minor, buf),
TP_FIELDS(
ctf_integer(int, minor, minor)
ctf_integer(u32, index, buf->index)
ctf_integer(u32, type, buf->type)
ctf_integer(u32, bytesused, buf->bytesused)
ctf_integer(u32, flags, buf->flags)
ctf_integer(u32, field, buf->field)
ctf_integer(s64, timestamp, timeval_to_ns(&buf->timestamp))
ctf_integer(u32, timecode_type, buf->timecode.type)
ctf_integer(u32, timecode_flags, buf->timecode.flags)
ctf_integer(u8, timecode_frames, buf->timecode.frames)
ctf_integer(u8, timecode_seconds, buf->timecode.seconds)
ctf_integer(u8, timecode_minutes, buf->timecode.minutes)
ctf_integer(u8, timecode_hours, buf->timecode.hours)
ctf_array(u8, timecode_userbits, buf->timecode.userbits, 4)
ctf_integer(u32, sequence, buf->sequence)
)
)
#endif
LTTNG_TRACEPOINT_EVENT_INSTANCE(v4l2_class,
v4l2_dqbuf,
TP_PROTO(int minor, struct v4l2_buffer *buf),
TP_ARGS(minor, buf)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(v4l2_class,
v4l2_qbuf,
TP_PROTO(int minor, struct v4l2_buffer *buf),
TP_ARGS(minor, buf)
)
#endif /* if !defined(LTTNG_TRACE_V4L2_H) || defined(TRACE_HEADER_MULTI_READ) */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,193 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM workqueue
#if !defined(LTTNG_TRACE_WORKQUEUE_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_WORKQUEUE_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/workqueue.h>
#include <linux/version.h>
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
#ifndef _TRACE_WORKQUEUE_DEF_
#define _TRACE_WORKQUEUE_DEF_
struct worker;
struct global_cwq;
#endif
LTTNG_TRACEPOINT_EVENT_CLASS(workqueue_work,
TP_PROTO(struct work_struct *work),
TP_ARGS(work),
TP_FIELDS(
ctf_integer_hex(void *, work, work)
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
/**
* workqueue_queue_work - called when a work gets queued
* @req_cpu: the requested cpu
* @cwq: pointer to struct cpu_workqueue_struct
* @work: pointer to struct work_struct
*
* This event occurs when a work is queued immediately or once a
* delayed work is actually queued on a workqueue (ie: once the delay
* has been reached).
*/
LTTNG_TRACEPOINT_EVENT(workqueue_queue_work,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
TP_PROTO(unsigned int req_cpu, struct pool_workqueue *pwq,
struct work_struct *work),
TP_ARGS(req_cpu, pwq, work),
#else
TP_PROTO(unsigned int req_cpu, struct cpu_workqueue_struct *cwq,
struct work_struct *work),
TP_ARGS(req_cpu, cwq, work),
#endif
TP_FIELDS(
ctf_integer_hex(void *, work, work)
ctf_integer_hex(void *, function, work->func)
ctf_integer(unsigned int, req_cpu, req_cpu)
)
)
/**
* workqueue_activate_work - called when a work gets activated
* @work: pointer to struct work_struct
*
* This event occurs when a queued work is put on the active queue,
* which happens immediately after queueing unless @max_active limit
* is reached.
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue_work, workqueue_activate_work,
TP_PROTO(struct work_struct *work),
TP_ARGS(work)
)
#endif
/**
* workqueue_execute_start - called immediately before the workqueue callback
* @work: pointer to struct work_struct
*
* Allows to track workqueue execution.
*/
LTTNG_TRACEPOINT_EVENT(workqueue_execute_start,
TP_PROTO(struct work_struct *work),
TP_ARGS(work),
TP_FIELDS(
ctf_integer_hex(void *, work, work)
ctf_integer_hex(void *, function, work->func)
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
/**
* workqueue_execute_end - called immediately after the workqueue callback
* @work: pointer to struct work_struct
* @function: pointer to worker function
*
* Allows to track workqueue execution.
*/
LTTNG_TRACEPOINT_EVENT(workqueue_execute_end,
TP_PROTO(struct work_struct *work, work_func_t function),
TP_ARGS(work, function),
TP_FIELDS(
ctf_integer_hex(void *, work, work)
ctf_integer_hex(void *, function, function)
)
)
#else
/**
* workqueue_execute_end - called immediately after the workqueue callback
* @work: pointer to struct work_struct
*
* Allows to track workqueue execution.
*/
LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue_work, workqueue_execute_end,
TP_PROTO(struct work_struct *work),
TP_ARGS(work)
)
#endif
#else
LTTNG_TRACEPOINT_EVENT_CLASS(workqueue,
TP_PROTO(struct task_struct *wq_thread, struct work_struct *work),
TP_ARGS(wq_thread, work),
TP_FIELDS(
ctf_array(char, thread_comm, wq_thread->comm, TASK_COMM_LEN)
ctf_integer(pid_t, thread_pid, wq_thread->pid)
ctf_integer_hex(work_func_t, func, work->func)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue, workqueue_insertion,
TP_PROTO(struct task_struct *wq_thread, struct work_struct *work),
TP_ARGS(wq_thread, work)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue, workqueue_execution,
TP_PROTO(struct task_struct *wq_thread, struct work_struct *work),
TP_ARGS(wq_thread, work)
)
/* Trace the creation of one workqueue thread on a cpu */
LTTNG_TRACEPOINT_EVENT(workqueue_creation,
TP_PROTO(struct task_struct *wq_thread, int cpu),
TP_ARGS(wq_thread, cpu),
TP_FIELDS(
ctf_array(char, thread_comm, wq_thread->comm, TASK_COMM_LEN)
ctf_integer(pid_t, thread_pid, wq_thread->pid)
ctf_integer(int, cpu, cpu)
)
)
LTTNG_TRACEPOINT_EVENT(workqueue_destruction,
TP_PROTO(struct task_struct *wq_thread),
TP_ARGS(wq_thread),
TP_FIELDS(
ctf_array(char, thread_comm, wq_thread->comm, TASK_COMM_LEN)
ctf_integer(pid_t, thread_pid, wq_thread->pid)
)
)
#endif
#endif /* LTTNG_TRACE_WORKQUEUE_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,793 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM writeback
#if !defined(LTTNG_TRACE_WRITEBACK_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_WRITEBACK_H
#include <probes/lttng-tracepoint-event.h>
#include <linux/tracepoint.h>
#include <linux/backing-dev.h>
#include <linux/writeback.h>
#include <linux/version.h>
#ifndef _TRACE_WRITEBACK_DEF_
#define _TRACE_WRITEBACK_DEF_
/*
* Vanilla kernels before 4.0 do not implement inode_to_bdi
* RHEL kernels before 3.10.0-327.10.1 do not implement inode_to_bdi
* RHEL kernel 3.10.0-327.10.1 has inode_to_bdi
* RHEL kernel 3.10.0-327.13.1 includes a partial merge of upstream
* commit a212b105b07d75b48b1a166378282e8a77fbf53d which inlines
* inode_to_bdi but not sb_is_blkdev_sb making it unusable by modules.
*/
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0))
static inline struct backing_dev_info *lttng_inode_to_bdi(struct inode *inode)
{
struct super_block *sb;
if (!inode)
return &noop_backing_dev_info;
sb = inode->i_sb;
if (strcmp(sb->s_type->name, "bdev") == 0)
return inode->i_mapping->backing_dev_info;
return sb->s_bdi;
}
#else
static inline struct backing_dev_info *lttng_inode_to_bdi(struct inode *inode)
{
return inode_to_bdi(inode);
}
#endif /* #if (LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0)) */
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
#define show_inode_state(state) \
__print_flags(state, "|", \
{I_DIRTY_SYNC, "I_DIRTY_SYNC"}, \
{I_DIRTY_DATASYNC, "I_DIRTY_DATASYNC"}, \
{I_DIRTY_PAGES, "I_DIRTY_PAGES"}, \
{I_NEW, "I_NEW"}, \
{I_WILL_FREE, "I_WILL_FREE"}, \
{I_FREEING, "I_FREEING"}, \
{I_CLEAR, "I_CLEAR"}, \
{I_SYNC, "I_SYNC"}, \
{I_DIRTY_TIME, "I_DIRTY_TIME"}, \
{I_REFERENCED, "I_REFERENCED"} \
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0))
#define show_inode_state(state) \
__print_flags(state, "|", \
{I_DIRTY_SYNC, "I_DIRTY_SYNC"}, \
{I_DIRTY_DATASYNC, "I_DIRTY_DATASYNC"}, \
{I_DIRTY_PAGES, "I_DIRTY_PAGES"}, \
{I_NEW, "I_NEW"}, \
{I_WILL_FREE, "I_WILL_FREE"}, \
{I_FREEING, "I_FREEING"}, \
{I_CLEAR, "I_CLEAR"}, \
{I_SYNC, "I_SYNC"}, \
{I_DIRTY_TIME, "I_DIRTY_TIME"}, \
{I_DIRTY_TIME_EXPIRED, "I_DIRTY_TIME_EXPIRED"}, \
{I_REFERENCED, "I_REFERENCED"} \
)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0)) */
#define show_inode_state(state) \
__print_flags(state, "|", \
{I_DIRTY_SYNC, "I_DIRTY_SYNC"}, \
{I_DIRTY_DATASYNC, "I_DIRTY_DATASYNC"}, \
{I_DIRTY_PAGES, "I_DIRTY_PAGES"}, \
{I_NEW, "I_NEW"}, \
{I_WILL_FREE, "I_WILL_FREE"}, \
{I_FREEING, "I_FREEING"}, \
{I_CLEAR, "I_CLEAR"}, \
{I_SYNC, "I_SYNC"}, \
{I_REFERENCED, "I_REFERENCED"} \
)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0)) */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0))
LTTNG_TRACEPOINT_EVENT(writeback_dirty_page,
TP_PROTO(struct page *page, struct address_space *mapping),
TP_ARGS(page, mapping),
TP_FIELDS(
ctf_array_text(char, name,
mapping ? dev_name(lttng_inode_to_bdi(mapping->host)->dev) : "(unknown)", 32)
ctf_integer(unsigned long, ino, mapping ? mapping->host->i_ino : 0)
ctf_integer(pgoff_t, index, page->index)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(writeback_dirty_inode_template,
TP_PROTO(struct inode *inode, int flags),
TP_ARGS(inode, flags),
TP_FIELDS(
/* may be called for files on pseudo FSes w/ unregistered bdi */
ctf_array_text(char, name,
lttng_inode_to_bdi(inode)->dev ?
dev_name(lttng_inode_to_bdi(inode)->dev) : "(unknown)", 32)
ctf_integer(unsigned long, ino, inode->i_ino)
ctf_integer(unsigned long, state, inode->i_state)
ctf_integer(unsigned long, flags, flags)
)
)
#define LTTNG_TRACEPOINT_EVENT_WRITEBACK_DIRTY_INODE_TEMPLATE(name) \
LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_dirty_inode_template, name, \
TP_PROTO(struct inode *inode, int flags), \
TP_ARGS(inode, flags))
LTTNG_TRACEPOINT_EVENT_WRITEBACK_DIRTY_INODE_TEMPLATE(writeback_dirty_inode_start)
LTTNG_TRACEPOINT_EVENT_WRITEBACK_DIRTY_INODE_TEMPLATE(writeback_dirty_inode)
LTTNG_TRACEPOINT_EVENT_WRITEBACK_DIRTY_INODE_TEMPLATE(writeback_mark_inode_dirty)
LTTNG_TRACEPOINT_EVENT_CLASS(writeback_write_inode_template,
TP_PROTO(struct inode *inode, struct writeback_control *wbc),
TP_ARGS(inode, wbc),
TP_FIELDS(
ctf_array_text(char, name,
dev_name(lttng_inode_to_bdi(inode)->dev), 32)
ctf_integer(unsigned long, ino, inode->i_ino)
ctf_integer(int, sync_mode, wbc->sync_mode)
)
)
#define LTTNG_TRACEPOINT_EVENT_WRITEBACK_WRITE_INODE(name) \
LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_write_inode_template, name, \
TP_PROTO(struct inode *inode, struct writeback_control *wbc), \
TP_ARGS(inode, wbc))
LTTNG_TRACEPOINT_EVENT_WRITEBACK_WRITE_INODE(writeback_write_inode_start)
LTTNG_TRACEPOINT_EVENT_WRITEBACK_WRITE_INODE(writeback_write_inode)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
LTTNG_TRACEPOINT_EVENT(writeback_dirty_page,
TP_PROTO(struct page *page, struct address_space *mapping),
TP_ARGS(page, mapping),
TP_FIELDS(
ctf_array_text(char, name,
mapping ? dev_name(mapping->backing_dev_info->dev) : "(unknown)", 32)
ctf_integer(unsigned long, ino, mapping ? mapping->host->i_ino : 0)
ctf_integer(pgoff_t, index, page->index)
)
)
LTTNG_TRACEPOINT_EVENT_CLASS(writeback_dirty_inode_template,
TP_PROTO(struct inode *inode, int flags),
TP_ARGS(inode, flags),
TP_FIELDS(
/* may be called for files on pseudo FSes w/ unregistered bdi */
ctf_array_text(char, name,
inode->i_mapping->backing_dev_info->dev ?
dev_name(inode->i_mapping->backing_dev_info->dev)
: "(unknown)", 32)
ctf_integer(unsigned long, ino, inode->i_ino)
ctf_integer(unsigned long, flags, flags)
)
)
#define LTTNG_TRACEPOINT_EVENT_WRITEBACK_DIRTY_INODE_TEMPLATE(name) \
LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_dirty_inode_template, name, \
TP_PROTO(struct inode *inode, int flags), \
TP_ARGS(inode, flags))
LTTNG_TRACEPOINT_EVENT_WRITEBACK_DIRTY_INODE_TEMPLATE(writeback_dirty_inode_start)
LTTNG_TRACEPOINT_EVENT_WRITEBACK_DIRTY_INODE_TEMPLATE(writeback_dirty_inode)
LTTNG_TRACEPOINT_EVENT_CLASS(writeback_write_inode_template,
TP_PROTO(struct inode *inode, struct writeback_control *wbc),
TP_ARGS(inode, wbc),
TP_FIELDS(
ctf_array_text(char, name,
dev_name(inode->i_mapping->backing_dev_info->dev), 32)
ctf_integer(unsigned long, ino, inode->i_ino)
ctf_integer(int, sync_mode, wbc->sync_mode)
)
)
#define LTTNG_TRACEPOINT_EVENT_WRITEBACK_WRITE_INODE(name) \
LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_write_inode_template, name, \
TP_PROTO(struct inode *inode, struct writeback_control *wbc), \
TP_ARGS(inode, wbc))
LTTNG_TRACEPOINT_EVENT_WRITEBACK_WRITE_INODE(writeback_write_inode_start)
LTTNG_TRACEPOINT_EVENT_WRITEBACK_WRITE_INODE(writeback_write_inode)
#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0))
LTTNG_TRACEPOINT_EVENT_CLASS(writeback_work_class,
TP_PROTO(struct bdi_writeback *wb, struct wb_writeback_work *work),
TP_ARGS(wb, work),
TP_FIELDS(
ctf_array_text(char, name, wb->bdi->dev ? dev_name(wb->bdi->dev) :
"(unknown)", 32)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0))
LTTNG_TRACEPOINT_EVENT_CLASS(writeback_work_class,
TP_PROTO(struct backing_dev_info *bdi, struct wb_writeback_work *work),
TP_ARGS(bdi, work),
TP_FIELDS(
ctf_array_text(char, name, bdi->dev ? dev_name(bdi->dev) :
"(unknown)", 32)
)
)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0)) */
LTTNG_TRACEPOINT_EVENT_CLASS(writeback_work_class,
TP_PROTO(struct backing_dev_info *bdi, struct wb_writeback_work *work),
TP_ARGS(bdi, work),
TP_FIELDS(
ctf_array_text(char, name,
dev_name(bdi->dev ? bdi->dev :
default_backing_dev_info.dev), 32)
)
)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0)) */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0))
#define LTTNG_TRACEPOINT_EVENT_WRITEBACK_WORK_INSTANCE(name) \
LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_work_class, name, \
TP_PROTO(struct bdi_writeback *wb, struct wb_writeback_work *work), \
TP_ARGS(wb, work))
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)) */
#define LTTNG_TRACEPOINT_EVENT_WRITEBACK_WORK_INSTANCE(name) \
LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_work_class, name, \
TP_PROTO(struct backing_dev_info *bdi, struct wb_writeback_work *work), \
TP_ARGS(bdi, work))
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)) */
LTTNG_TRACEPOINT_EVENT_WRITEBACK_WORK_INSTANCE(writeback_nothread)
LTTNG_TRACEPOINT_EVENT_WRITEBACK_WORK_INSTANCE(writeback_queue)
LTTNG_TRACEPOINT_EVENT_WRITEBACK_WORK_INSTANCE(writeback_exec)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
LTTNG_TRACEPOINT_EVENT_WRITEBACK_WORK_INSTANCE(writeback_start)
LTTNG_TRACEPOINT_EVENT_WRITEBACK_WORK_INSTANCE(writeback_written)
LTTNG_TRACEPOINT_EVENT_WRITEBACK_WORK_INSTANCE(writeback_wait)
#endif
LTTNG_TRACEPOINT_EVENT(writeback_pages_written,
TP_PROTO(long pages_written),
TP_ARGS(pages_written),
TP_FIELDS(
ctf_integer(long, pages, pages_written)
)
)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0))
LTTNG_TRACEPOINT_EVENT_CLASS(writeback_class,
TP_PROTO(struct bdi_writeback *wb),
TP_ARGS(wb),
TP_FIELDS(
ctf_array_text(char, name,
dev_name(wb->bdi->dev), 32)
)
)
#undef DEFINE_WRITEBACK_EVENT
#define DEFINE_WRITEBACK_EVENT(name) \
LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_class, name, \
TP_PROTO(struct bdi_writeback *wb), \
TP_ARGS(wb))
#define DEFINE_WRITEBACK_EVENT_MAP(name, map) \
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(writeback_class, name, map, \
TP_PROTO(struct bdi_writeback *wb), \
TP_ARGS(wb))
LTTNG_TRACEPOINT_EVENT(writeback_bdi_register,
TP_PROTO(struct backing_dev_info *bdi),
TP_ARGS(bdi),
TP_FIELDS(
ctf_array_text(char, name,
dev_name(bdi->dev), 32)
)
)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)) */
LTTNG_TRACEPOINT_EVENT_CLASS(writeback_class,
TP_PROTO(struct backing_dev_info *bdi),
TP_ARGS(bdi),
TP_FIELDS(
ctf_array_text(char, name,
dev_name(bdi->dev), 32)
)
)
#undef DEFINE_WRITEBACK_EVENT
#define DEFINE_WRITEBACK_EVENT(name) \
LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_class, name, \
TP_PROTO(struct backing_dev_info *bdi), \
TP_ARGS(bdi))
#define DEFINE_WRITEBACK_EVENT_MAP(name, map) \
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(writeback_class, name, map, \
TP_PROTO(struct backing_dev_info *bdi), \
TP_ARGS(bdi))
DEFINE_WRITEBACK_EVENT(writeback_bdi_register)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)) */
DEFINE_WRITEBACK_EVENT(writeback_nowork)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
DEFINE_WRITEBACK_EVENT(writeback_wake_background)
#endif
DEFINE_WRITEBACK_EVENT(writeback_wake_thread)
DEFINE_WRITEBACK_EVENT(writeback_wake_forker_thread)
DEFINE_WRITEBACK_EVENT(writeback_bdi_unregister)
DEFINE_WRITEBACK_EVENT(writeback_thread_start)
DEFINE_WRITEBACK_EVENT(writeback_thread_stop)
#if (LTTNG_KERNEL_RANGE(3,1,0, 3,2,0))
DEFINE_WRITEBACK_EVENT_MAP(balance_dirty_start, writeback_balance_dirty_start)
DEFINE_WRITEBACK_EVENT_MAP(balance_dirty_wait, writeback_balance_dirty_wait)
LTTNG_TRACEPOINT_EVENT_MAP(balance_dirty_written,
writeback_balance_dirty_written,
TP_PROTO(struct backing_dev_info *bdi, int written),
TP_ARGS(bdi, written),
TP_FIELDS(
ctf_array_text(char, name, dev_name(bdi->dev), 32)
ctf_integer(int, written, written)
)
)
#endif
LTTNG_TRACEPOINT_EVENT_CLASS(writeback_wbc_class,
TP_PROTO(struct writeback_control *wbc, struct backing_dev_info *bdi),
TP_ARGS(wbc, bdi),
TP_FIELDS(
ctf_array_text(char, name, dev_name(bdi->dev), 32)
ctf_integer(long, nr_to_write, wbc->nr_to_write)
ctf_integer(long, pages_skipped, wbc->pages_skipped)
ctf_integer(int, sync_mode, wbc->sync_mode)
ctf_integer(int, for_kupdate, wbc->for_kupdate)
ctf_integer(int, for_background, wbc->for_background)
ctf_integer(int, for_reclaim, wbc->for_reclaim)
ctf_integer(int, range_cyclic, wbc->range_cyclic)
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
ctf_integer(int, more_io, wbc->more_io)
ctf_integer(unsigned long, older_than_this,
wbc->older_than_this ? *wbc->older_than_this : 0)
#endif
ctf_integer(long, range_start, (long) wbc->range_start)
ctf_integer(long, range_end, (long) wbc->range_end)
)
)
#undef DEFINE_WBC_EVENT
#define LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(name, map) \
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(writeback_wbc_class, name, map, \
TP_PROTO(struct writeback_control *wbc, struct backing_dev_info *bdi), \
TP_ARGS(wbc, bdi))
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_writeback_start, writeback_wbc_writeback_start)
LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_writeback_written, writeback_wbc_writeback_written)
LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_writeback_wait, writeback_wbc_writeback_wait)
LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_balance_dirty_start, writeback_wbc_balance_dirty_start)
LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_balance_dirty_written, writeback_wbc_balance_dirty_written)
LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_balance_dirty_wait, writeback_wbc_balance_dirty_wait)
#endif
LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_writepage, writeback_wbc_writepage)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0) || \
LTTNG_KERNEL_RANGE(5,8,6, 5,9,0) || \
LTTNG_KERNEL_RANGE(5,4,62, 5,5,0) || \
LTTNG_KERNEL_RANGE(4,19,143, 4,20,0) || \
LTTNG_KERNEL_RANGE(4,14,196, 4,15,0) || \
LTTNG_KERNEL_RANGE(4,9,235, 4,10,0) || \
LTTNG_KERNEL_RANGE(4,4,235, 4,5,0) || \
LTTNG_UBUNTU_KERNEL_RANGE(4,15,18,119, 4,16,0,0))
LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
TP_PROTO(struct bdi_writeback *wb,
struct wb_writeback_work *work,
unsigned long dirtied_before,
int moved),
TP_ARGS(wb, work, dirtied_before, moved),
TP_FIELDS(
ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
ctf_integer(unsigned long, older, dirtied_before)
ctf_integer(int, moved, moved)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
TP_PROTO(struct bdi_writeback *wb,
struct wb_writeback_work *work,
int moved),
TP_ARGS(wb, work, moved),
TP_FIELDS(
ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
ctf_integer(int, moved, moved)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
TP_PROTO(struct bdi_writeback *wb,
unsigned long *older_than_this,
int moved),
TP_ARGS(wb, older_than_this, moved),
TP_FIELDS(
ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
ctf_integer(unsigned long, older,
older_than_this ? *older_than_this : 0)
ctf_integer(long, age,
older_than_this ?
(jiffies - *older_than_this) * 1000 / HZ
: -1)
ctf_integer(int, moved, moved)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0))
LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
writeback_global_dirty_state,
TP_PROTO(unsigned long background_thresh,
unsigned long dirty_thresh
),
TP_ARGS(background_thresh,
dirty_thresh
),
TP_FIELDS(
ctf_integer(unsigned long, nr_dirty, global_node_page_state(NR_FILE_DIRTY))
ctf_integer(unsigned long, nr_writeback, global_node_page_state(NR_WRITEBACK))
ctf_integer(unsigned long, nr_dirtied, global_node_page_state(NR_DIRTIED))
ctf_integer(unsigned long, nr_written, global_node_page_state(NR_WRITTEN))
ctf_integer(unsigned long, background_thresh, background_thresh)
ctf_integer(unsigned long, dirty_thresh, dirty_thresh)
ctf_integer(unsigned long, dirty_limit, global_dirty_limit)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
writeback_global_dirty_state,
TP_PROTO(unsigned long background_thresh,
unsigned long dirty_thresh
),
TP_ARGS(background_thresh,
dirty_thresh
),
TP_FIELDS(
ctf_integer(unsigned long, nr_dirty, global_node_page_state(NR_FILE_DIRTY))
ctf_integer(unsigned long, nr_writeback, global_node_page_state(NR_WRITEBACK))
ctf_integer(unsigned long, nr_unstable, global_node_page_state(NR_UNSTABLE_NFS))
ctf_integer(unsigned long, nr_dirtied, global_node_page_state(NR_DIRTIED))
ctf_integer(unsigned long, nr_written, global_node_page_state(NR_WRITTEN))
ctf_integer(unsigned long, background_thresh, background_thresh)
ctf_integer(unsigned long, dirty_thresh, dirty_thresh)
ctf_integer(unsigned long, dirty_limit, global_dirty_limit)
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
writeback_global_dirty_state,
TP_PROTO(unsigned long background_thresh,
unsigned long dirty_thresh
),
TP_ARGS(background_thresh,
dirty_thresh
),
TP_FIELDS(
ctf_integer(unsigned long, nr_dirty, global_page_state(NR_FILE_DIRTY))
ctf_integer(unsigned long, nr_writeback, global_page_state(NR_WRITEBACK))
ctf_integer(unsigned long, nr_unstable, global_page_state(NR_UNSTABLE_NFS))
ctf_integer(unsigned long, nr_dirtied, global_page_state(NR_DIRTIED))
ctf_integer(unsigned long, nr_written, global_page_state(NR_WRITTEN))
ctf_integer(unsigned long, background_thresh, background_thresh)
ctf_integer(unsigned long, dirty_thresh, dirty_thresh)
ctf_integer(unsigned long, dirty_limit, global_dirty_limit)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
#define KBps(x) ((x) << (PAGE_SHIFT - 10))
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0))
LTTNG_TRACEPOINT_EVENT_MAP(bdi_dirty_ratelimit,
writeback_bdi_dirty_ratelimit,
TP_PROTO(struct bdi_writeback *wb,
unsigned long dirty_rate,
unsigned long task_ratelimit),
TP_ARGS(wb, dirty_rate, task_ratelimit),
TP_FIELDS(
ctf_array_text(char, bdi, dev_name(wb->bdi->dev), 32)
ctf_integer(unsigned long, write_bw, KBps(wb->bdi->wb.write_bandwidth))
ctf_integer(unsigned long, avg_write_bw, KBps(wb->bdi->wb.avg_write_bandwidth))
ctf_integer(unsigned long, dirty_rate, KBps(dirty_rate))
ctf_integer(unsigned long, dirty_ratelimit, KBps(wb->bdi->wb.dirty_ratelimit))
ctf_integer(unsigned long, task_ratelimit, KBps(task_ratelimit))
ctf_integer(unsigned long, balanced_dirty_ratelimit,
KBps(wb->bdi->wb.balanced_dirty_ratelimit))
)
)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0))
LTTNG_TRACEPOINT_EVENT_MAP(bdi_dirty_ratelimit,
writeback_bdi_dirty_ratelimit,
TP_PROTO(struct backing_dev_info *bdi,
unsigned long dirty_rate,
unsigned long task_ratelimit),
TP_ARGS(bdi, dirty_rate, task_ratelimit),
TP_FIELDS(
ctf_array_text(char, bdi, dev_name(bdi->dev), 32)
ctf_integer(unsigned long, write_bw, KBps(bdi->wb.write_bandwidth))
ctf_integer(unsigned long, avg_write_bw, KBps(bdi->wb.avg_write_bandwidth))
ctf_integer(unsigned long, dirty_rate, KBps(dirty_rate))
ctf_integer(unsigned long, dirty_ratelimit, KBps(bdi->wb.dirty_ratelimit))
ctf_integer(unsigned long, task_ratelimit, KBps(task_ratelimit))
ctf_integer(unsigned long, balanced_dirty_ratelimit,
KBps(bdi->wb.balanced_dirty_ratelimit))
)
)
#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) */
LTTNG_TRACEPOINT_EVENT_MAP(bdi_dirty_ratelimit,
writeback_bdi_dirty_ratelimit,
TP_PROTO(struct backing_dev_info *bdi,
unsigned long dirty_rate,
unsigned long task_ratelimit),
TP_ARGS(bdi, dirty_rate, task_ratelimit),
TP_FIELDS(
ctf_array_text(char, bdi, dev_name(bdi->dev), 32)
ctf_integer(unsigned long, write_bw, KBps(bdi->write_bandwidth))
ctf_integer(unsigned long, avg_write_bw, KBps(bdi->avg_write_bandwidth))
ctf_integer(unsigned long, dirty_rate, KBps(dirty_rate))
ctf_integer(unsigned long, dirty_ratelimit, KBps(bdi->dirty_ratelimit))
ctf_integer(unsigned long, task_ratelimit, KBps(task_ratelimit))
ctf_integer(unsigned long, balanced_dirty_ratelimit,
KBps(bdi->balanced_dirty_ratelimit))
)
)
#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0))
LTTNG_TRACEPOINT_EVENT_MAP(balance_dirty_pages,
writeback_balance_dirty_pages,
TP_PROTO(struct bdi_writeback *wb,
unsigned long thresh,
unsigned long bg_thresh,
unsigned long dirty,
unsigned long bdi_thresh,
unsigned long bdi_dirty,
unsigned long dirty_ratelimit,
unsigned long task_ratelimit,
unsigned long dirtied,
unsigned long period,
long pause,
unsigned long start_time),
TP_ARGS(wb, thresh, bg_thresh, dirty, bdi_thresh, bdi_dirty,
dirty_ratelimit, task_ratelimit,
dirtied, period, pause, start_time
),
TP_FIELDS(
ctf_array_text(char, bdi, dev_name(wb->bdi->dev), 32)
ctf_integer(unsigned long, limit, global_dirty_limit)
ctf_integer(unsigned long, setpoint,
(global_dirty_limit + (thresh + bg_thresh) / 2) / 2)
ctf_integer(unsigned long, dirty, dirty)
ctf_integer(unsigned long, bdi_setpoint,
((global_dirty_limit + (thresh + bg_thresh) / 2) / 2) *
bdi_thresh / (thresh + 1))
ctf_integer(unsigned long, bdi_dirty, bdi_dirty)
ctf_integer(unsigned long, dirty_ratelimit,
KBps(dirty_ratelimit))
ctf_integer(unsigned long, task_ratelimit,
KBps(task_ratelimit))
ctf_integer(unsigned int, dirtied, dirtied)
ctf_integer(unsigned int, dirtied_pause,
current->nr_dirtied_pause)
ctf_integer(unsigned long, paused,
(jiffies - start_time) * 1000 / HZ)
ctf_integer(long, pause, pause * 1000 / HZ)
ctf_integer(unsigned long, period,
period * 1000 / HZ)
ctf_integer(long, think,
current->dirty_paused_when == 0 ? 0 :
(long)(jiffies - current->dirty_paused_when) * 1000/HZ)
)
)
#else /* #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)) */
LTTNG_TRACEPOINT_EVENT_MAP(balance_dirty_pages,
writeback_balance_dirty_pages,
TP_PROTO(struct backing_dev_info *bdi,
unsigned long thresh,
unsigned long bg_thresh,
unsigned long dirty,
unsigned long bdi_thresh,
unsigned long bdi_dirty,
unsigned long dirty_ratelimit,
unsigned long task_ratelimit,
unsigned long dirtied,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
unsigned long period,
#endif
long pause,
unsigned long start_time),
TP_ARGS(bdi, thresh, bg_thresh, dirty, bdi_thresh, bdi_dirty,
dirty_ratelimit, task_ratelimit,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
dirtied, period, pause, start_time
#else
dirtied, pause, start_time
#endif
),
TP_FIELDS(
ctf_array_text(char, bdi, dev_name(bdi->dev), 32)
ctf_integer(unsigned long, limit, global_dirty_limit)
ctf_integer(unsigned long, setpoint,
(global_dirty_limit + (thresh + bg_thresh) / 2) / 2)
ctf_integer(unsigned long, dirty, dirty)
ctf_integer(unsigned long, bdi_setpoint,
((global_dirty_limit + (thresh + bg_thresh) / 2) / 2) *
bdi_thresh / (thresh + 1))
ctf_integer(unsigned long, bdi_dirty, bdi_dirty)
ctf_integer(unsigned long, dirty_ratelimit,
KBps(dirty_ratelimit))
ctf_integer(unsigned long, task_ratelimit,
KBps(task_ratelimit))
ctf_integer(unsigned int, dirtied, dirtied)
ctf_integer(unsigned int, dirtied_pause,
current->nr_dirtied_pause)
ctf_integer(unsigned long, paused,
(jiffies - start_time) * 1000 / HZ)
ctf_integer(long, pause, pause * 1000 / HZ)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
ctf_integer(unsigned long, period,
period * 1000 / HZ)
ctf_integer(long, think,
current->dirty_paused_when == 0 ? 0 :
(long)(jiffies - current->dirty_paused_when) * 1000/HZ)
#endif
)
)
#endif /* #else #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)) */
#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
LTTNG_TRACEPOINT_EVENT(writeback_sb_inodes_requeue,
TP_PROTO(struct inode *inode),
TP_ARGS(inode),
TP_FIELDS(
ctf_array_text(char, name,
dev_name(lttng_inode_to_bdi(inode)->dev), 32)
ctf_integer(unsigned long, ino, inode->i_ino)
ctf_integer(unsigned long, state, inode->i_state)
ctf_integer(unsigned long, dirtied_when, inode->dirtied_when)
)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
LTTNG_TRACEPOINT_EVENT_CLASS(writeback_congest_waited_template,
TP_PROTO(unsigned int usec_timeout, unsigned int usec_delayed),
TP_ARGS(usec_timeout, usec_delayed),
TP_FIELDS(
ctf_integer(unsigned int, usec_timeout, usec_timeout)
ctf_integer(unsigned int, usec_delayed, usec_delayed)
)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_congest_waited_template, writeback_congestion_wait,
TP_PROTO(unsigned int usec_timeout, unsigned int usec_delayed),
TP_ARGS(usec_timeout, usec_delayed)
)
LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_congest_waited_template, writeback_wait_iff_congested,
TP_PROTO(unsigned int usec_timeout, unsigned int usec_delayed),
TP_ARGS(usec_timeout, usec_delayed)
)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
LTTNG_TRACEPOINT_EVENT_CLASS(writeback_single_inode_template,
TP_PROTO(struct inode *inode,
struct writeback_control *wbc,
unsigned long nr_to_write
),
TP_ARGS(inode, wbc, nr_to_write),
TP_FIELDS(
ctf_array_text(char, name,
dev_name(lttng_inode_to_bdi(inode)->dev), 32)
ctf_integer(unsigned long, ino, inode->i_ino)
ctf_integer(unsigned long, state, inode->i_state)
ctf_integer(unsigned long, dirtied_when, inode->dirtied_when)
ctf_integer(unsigned long, writeback_index,
inode->i_mapping->writeback_index)
ctf_integer(long, nr_to_write, nr_to_write)
ctf_integer(unsigned long, wrote,
nr_to_write - wbc->nr_to_write)
)
)
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0))
LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_single_inode_template, writeback_single_inode_requeue,
TP_PROTO(struct inode *inode,
struct writeback_control *wbc,
unsigned long nr_to_write),
TP_ARGS(inode, wbc, nr_to_write)
)
#endif
LTTNG_TRACEPOINT_EVENT_INSTANCE(writeback_single_inode_template, writeback_single_inode,
TP_PROTO(struct inode *inode,
struct writeback_control *wbc,
unsigned long nr_to_write),
TP_ARGS(inode, wbc, nr_to_write)
)
#endif
#endif /* LTTNG_TRACE_WRITEBACK_H */
/* This part must be outside protection */
#include <probes/define_trace.h>

View File

@ -0,0 +1,286 @@
syscall sys_restart_syscall nr 0 nbargs 0 types: () args: ()
syscall sys_exit nr 1 nbargs 1 types: (int) args: (error_code)
syscall sys_read nr 3 nbargs 3 types: (unsigned int, char *, size_t) args: (fd, buf, count)
syscall sys_write nr 4 nbargs 3 types: (unsigned int, const char *, size_t) args: (fd, buf, count)
syscall sys_open nr 5 nbargs 3 types: (const char *, int, int) args: (filename, flags, mode)
syscall sys_close nr 6 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_waitpid nr 7 nbargs 3 types: (pid_t, int *, int) args: (pid, stat_addr, options)
syscall sys_creat nr 8 nbargs 2 types: (const char *, int) args: (pathname, mode)
syscall sys_link nr 9 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_unlink nr 10 nbargs 1 types: (const char *) args: (pathname)
syscall sys_chdir nr 12 nbargs 1 types: (const char *) args: (filename)
syscall sys_time nr 13 nbargs 1 types: (time_t *) args: (tloc)
syscall sys_mknod nr 14 nbargs 3 types: (const char *, int, unsigned) args: (filename, mode, dev)
syscall sys_chmod nr 15 nbargs 2 types: (const char *, mode_t) args: (filename, mode)
syscall sys_lchown nr 16 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_stat nr 18 nbargs 2 types: (const char *, struct __old_kernel_stat *) args: (filename, statbuf)
syscall sys_lseek nr 19 nbargs 3 types: (unsigned int, off_t, unsigned int) args: (fd, offset, origin)
syscall sys_getpid nr 20 nbargs 0 types: () args: ()
syscall sys_mount nr 21 nbargs 5 types: (char *, char *, char *, unsigned long, void *) args: (dev_name, dir_name, type, flags, data)
syscall sys_oldumount nr 22 nbargs 1 types: (char *) args: (name)
syscall sys_setuid nr 23 nbargs 1 types: (uid_t) args: (uid)
syscall sys_getuid nr 24 nbargs 0 types: () args: ()
syscall sys_stime nr 25 nbargs 1 types: (time_t *) args: (tptr)
syscall sys_ptrace nr 26 nbargs 4 types: (long, long, unsigned long, unsigned long) args: (request, pid, addr, data)
syscall sys_alarm nr 27 nbargs 1 types: (unsigned int) args: (seconds)
syscall sys_fstat nr 28 nbargs 2 types: (unsigned int, struct __old_kernel_stat *) args: (fd, statbuf)
syscall sys_pause nr 29 nbargs 0 types: () args: ()
syscall sys_utime nr 30 nbargs 2 types: (char *, struct utimbuf *) args: (filename, times)
syscall sys_access nr 33 nbargs 2 types: (const char *, int) args: (filename, mode)
syscall sys_nice nr 34 nbargs 1 types: (int) args: (increment)
syscall sys_sync nr 36 nbargs 0 types: () args: ()
syscall sys_kill nr 37 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_rename nr 38 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_mkdir nr 39 nbargs 2 types: (const char *, int) args: (pathname, mode)
syscall sys_rmdir nr 40 nbargs 1 types: (const char *) args: (pathname)
syscall sys_dup nr 41 nbargs 1 types: (unsigned int) args: (fildes)
syscall sys_pipe nr 42 nbargs 1 types: (int *) args: (fildes)
syscall sys_times nr 43 nbargs 1 types: (struct tms *) args: (tbuf)
syscall sys_brk nr 45 nbargs 1 types: (unsigned long) args: (brk)
syscall sys_setgid nr 46 nbargs 1 types: (gid_t) args: (gid)
syscall sys_getgid nr 47 nbargs 0 types: () args: ()
syscall sys_signal nr 48 nbargs 2 types: (int, __sighandler_t) args: (sig, handler)
syscall sys_geteuid nr 49 nbargs 0 types: () args: ()
syscall sys_getegid nr 50 nbargs 0 types: () args: ()
syscall sys_acct nr 51 nbargs 1 types: (const char *) args: (name)
syscall sys_umount nr 52 nbargs 2 types: (char *, int) args: (name, flags)
syscall sys_ioctl nr 54 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_fcntl nr 55 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_setpgid nr 57 nbargs 2 types: (pid_t, pid_t) args: (pid, pgid)
syscall sys_olduname nr 59 nbargs 1 types: (struct oldold_utsname *) args: (name)
syscall sys_umask nr 60 nbargs 1 types: (int) args: (mask)
syscall sys_chroot nr 61 nbargs 1 types: (const char *) args: (filename)
syscall sys_ustat nr 62 nbargs 2 types: (unsigned, struct ustat *) args: (dev, ubuf)
syscall sys_dup2 nr 63 nbargs 2 types: (unsigned int, unsigned int) args: (oldfd, newfd)
syscall sys_getppid nr 64 nbargs 0 types: () args: ()
syscall sys_getpgrp nr 65 nbargs 0 types: () args: ()
syscall sys_setsid nr 66 nbargs 0 types: () args: ()
syscall sys_sgetmask nr 68 nbargs 0 types: () args: ()
syscall sys_ssetmask nr 69 nbargs 1 types: (int) args: (newmask)
syscall sys_setreuid nr 70 nbargs 2 types: (uid_t, uid_t) args: (ruid, euid)
syscall sys_setregid nr 71 nbargs 2 types: (gid_t, gid_t) args: (rgid, egid)
syscall sys_sigpending nr 73 nbargs 1 types: (old_sigset_t *) args: (set)
syscall sys_sethostname nr 74 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_setrlimit nr 75 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_old_getrlimit nr 76 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_getrusage nr 77 nbargs 2 types: (int, struct rusage *) args: (who, ru)
syscall sys_gettimeofday nr 78 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_settimeofday nr 79 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_getgroups nr 80 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_setgroups nr 81 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_symlink nr 83 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_lstat nr 84 nbargs 2 types: (const char *, struct __old_kernel_stat *) args: (filename, statbuf)
syscall sys_readlink nr 85 nbargs 3 types: (const char *, char *, int) args: (path, buf, bufsiz)
syscall sys_uselib nr 86 nbargs 1 types: (const char *) args: (library)
syscall sys_swapon nr 87 nbargs 2 types: (const char *, int) args: (specialfile, swap_flags)
syscall sys_reboot nr 88 nbargs 4 types: (int, int, unsigned int, void *) args: (magic1, magic2, cmd, arg)
syscall sys_old_readdir nr 89 nbargs 3 types: (unsigned int, struct old_linux_dirent *, unsigned int) args: (fd, dirent, count)
syscall sys_munmap nr 91 nbargs 2 types: (unsigned long, size_t) args: (addr, len)
syscall sys_truncate nr 92 nbargs 2 types: (const char *, long) args: (path, length)
syscall sys_ftruncate nr 93 nbargs 2 types: (unsigned int, unsigned long) args: (fd, length)
syscall sys_fchmod nr 94 nbargs 2 types: (unsigned int, mode_t) args: (fd, mode)
syscall sys_fchown nr 95 nbargs 3 types: (unsigned int, uid_t, gid_t) args: (fd, user, group)
syscall sys_getpriority nr 96 nbargs 2 types: (int, int) args: (which, who)
syscall sys_setpriority nr 97 nbargs 3 types: (int, int, int) args: (which, who, niceval)
syscall sys_statfs nr 99 nbargs 2 types: (const char *, struct statfs *) args: (pathname, buf)
syscall sys_fstatfs nr 100 nbargs 2 types: (unsigned int, struct statfs *) args: (fd, buf)
syscall sys_socketcall nr 102 nbargs 2 types: (int, unsigned long *) args: (call, args)
syscall sys_syslog nr 103 nbargs 3 types: (int, char *, int) args: (type, buf, len)
syscall sys_setitimer nr 104 nbargs 3 types: (int, struct itimerval *, struct itimerval *) args: (which, value, ovalue)
syscall sys_getitimer nr 105 nbargs 2 types: (int, struct itimerval *) args: (which, value)
syscall sys_newstat nr 106 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_newlstat nr 107 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_newfstat nr 108 nbargs 2 types: (unsigned int, struct stat *) args: (fd, statbuf)
syscall sys_uname nr 109 nbargs 1 types: (struct old_utsname *) args: (name)
syscall sys_vhangup nr 111 nbargs 0 types: () args: ()
syscall sys_wait4 nr 114 nbargs 4 types: (pid_t, int *, int, struct rusage *) args: (upid, stat_addr, options, ru)
syscall sys_swapoff nr 115 nbargs 1 types: (const char *) args: (specialfile)
syscall sys_sysinfo nr 116 nbargs 1 types: (struct sysinfo *) args: (info)
syscall sys_ipc nr 117 nbargs 6 types: (unsigned int, int, unsigned long, unsigned long, void *, long) args: (call, first, second, third, ptr, fifth)
syscall sys_fsync nr 118 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_setdomainname nr 121 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_newuname nr 122 nbargs 1 types: (struct new_utsname *) args: (name)
syscall sys_adjtimex nr 124 nbargs 1 types: (struct timex *) args: (txc_p)
syscall sys_mprotect nr 125 nbargs 3 types: (unsigned long, size_t, unsigned long) args: (start, len, prot)
syscall sys_sigprocmask nr 126 nbargs 3 types: (int, old_sigset_t *, old_sigset_t *) args: (how, nset, oset)
syscall sys_init_module nr 128 nbargs 3 types: (void *, unsigned long, const char *) args: (umod, len, uargs)
syscall sys_delete_module nr 129 nbargs 2 types: (const char *, unsigned int) args: (name_user, flags)
syscall sys_getpgid nr 132 nbargs 1 types: (pid_t) args: (pid)
syscall sys_fchdir nr 133 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_bdflush nr 134 nbargs 2 types: (int, long) args: (func, data)
syscall sys_sysfs nr 135 nbargs 3 types: (int, unsigned long, unsigned long) args: (option, arg1, arg2)
syscall sys_personality nr 136 nbargs 1 types: (unsigned int) args: (personality)
syscall sys_setfsuid nr 138 nbargs 1 types: (uid_t) args: (uid)
syscall sys_setfsgid nr 139 nbargs 1 types: (gid_t) args: (gid)
syscall sys_llseek nr 140 nbargs 5 types: (unsigned int, unsigned long, unsigned long, loff_t *, unsigned int) args: (fd, offset_high, offset_low, result, origin)
syscall sys_getdents nr 141 nbargs 3 types: (unsigned int, struct linux_dirent *, unsigned int) args: (fd, dirent, count)
syscall sys_select nr 142 nbargs 5 types: (int, fd_set *, fd_set *, fd_set *, struct timeval *) args: (n, inp, outp, exp, tvp)
syscall sys_flock nr 143 nbargs 2 types: (unsigned int, unsigned int) args: (fd, cmd)
syscall sys_msync nr 144 nbargs 3 types: (unsigned long, size_t, int) args: (start, len, flags)
syscall sys_readv nr 145 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_writev nr 146 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_getsid nr 147 nbargs 1 types: (pid_t) args: (pid)
syscall sys_fdatasync nr 148 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_sysctl nr 149 nbargs 1 types: (struct __sysctl_args *) args: (args)
syscall sys_mlock nr 150 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_munlock nr 151 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_mlockall nr 152 nbargs 1 types: (int) args: (flags)
syscall sys_munlockall nr 153 nbargs 0 types: () args: ()
syscall sys_sched_setparam nr 154 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_getparam nr 155 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_setscheduler nr 156 nbargs 3 types: (pid_t, int, struct sched_param *) args: (pid, policy, param)
syscall sys_sched_getscheduler nr 157 nbargs 1 types: (pid_t) args: (pid)
syscall sys_sched_yield nr 158 nbargs 0 types: () args: ()
syscall sys_sched_get_priority_max nr 159 nbargs 1 types: (int) args: (policy)
syscall sys_sched_get_priority_min nr 160 nbargs 1 types: (int) args: (policy)
syscall sys_sched_rr_get_interval nr 161 nbargs 2 types: (pid_t, struct timespec *) args: (pid, interval)
syscall sys_nanosleep nr 162 nbargs 2 types: (struct timespec *, struct timespec *) args: (rqtp, rmtp)
syscall sys_mremap nr 163 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (addr, old_len, new_len, flags, new_addr)
syscall sys_setresuid nr 164 nbargs 3 types: (uid_t, uid_t, uid_t) args: (ruid, euid, suid)
syscall sys_getresuid nr 165 nbargs 3 types: (uid_t *, uid_t *, uid_t *) args: (ruid, euid, suid)
syscall sys_poll nr 167 nbargs 3 types: (struct pollfd *, unsigned int, long) args: (ufds, nfds, timeout_msecs)
syscall sys_nfsservctl nr 168 nbargs 3 types: (int, struct nfsctl_arg *, void *) args: (cmd, arg, res)
syscall sys_setresgid nr 169 nbargs 3 types: (gid_t, gid_t, gid_t) args: (rgid, egid, sgid)
syscall sys_getresgid nr 170 nbargs 3 types: (gid_t *, gid_t *, gid_t *) args: (rgid, egid, sgid)
syscall sys_prctl nr 171 nbargs 5 types: (int, unsigned long, unsigned long, unsigned long, unsigned long) args: (option, arg2, arg3, arg4, arg5)
syscall sys_rt_sigaction nr 173 nbargs 4 types: (int, const struct sigaction *, struct sigaction *, size_t) args: (sig, act, oact, sigsetsize)
syscall sys_rt_sigprocmask nr 174 nbargs 4 types: (int, sigset_t *, sigset_t *, size_t) args: (how, nset, oset, sigsetsize)
syscall sys_rt_sigpending nr 175 nbargs 2 types: (sigset_t *, size_t) args: (set, sigsetsize)
syscall sys_rt_sigtimedwait nr 176 nbargs 4 types: (const sigset_t *, siginfo_t *, const struct timespec *, size_t) args: (uthese, uinfo, uts, sigsetsize)
syscall sys_rt_sigqueueinfo nr 177 nbargs 3 types: (pid_t, int, siginfo_t *) args: (pid, sig, uinfo)
syscall sys_rt_sigsuspend nr 178 nbargs 2 types: (sigset_t *, size_t) args: (unewset, sigsetsize)
syscall sys_chown nr 181 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_getcwd nr 182 nbargs 2 types: (char *, unsigned long) args: (buf, size)
syscall sys_capget nr 183 nbargs 2 types: (cap_user_header_t, cap_user_data_t) args: (header, dataptr)
syscall sys_capset nr 184 nbargs 2 types: (cap_user_header_t, const cap_user_data_t) args: (header, data)
syscall sys_sendfile nr 186 nbargs 4 types: (int, int, off_t *, size_t) args: (out_fd, in_fd, offset, count)
syscall sys_getrlimit nr 190 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_stat64 nr 195 nbargs 2 types: (const char *, struct stat64 *) args: (filename, statbuf)
syscall sys_lstat64 nr 196 nbargs 2 types: (const char *, struct stat64 *) args: (filename, statbuf)
syscall sys_fstat64 nr 197 nbargs 2 types: (unsigned long, struct stat64 *) args: (fd, statbuf)
syscall sys_pciconfig_read nr 198 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, void *) args: (bus, dfn, off, len, buf)
syscall sys_pciconfig_write nr 199 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, void *) args: (bus, dfn, off, len, buf)
syscall sys_getdents64 nr 202 nbargs 3 types: (unsigned int, struct linux_dirent64 *, unsigned int) args: (fd, dirent, count)
syscall sys_pivot_root nr 203 nbargs 2 types: (const char *, const char *) args: (new_root, put_old)
syscall sys_fcntl64 nr 204 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_madvise nr 205 nbargs 3 types: (unsigned long, size_t, int) args: (start, len_in, behavior)
syscall sys_mincore nr 206 nbargs 3 types: (unsigned long, size_t, unsigned char *) args: (start, len, vec)
syscall sys_gettid nr 207 nbargs 0 types: () args: ()
syscall sys_tkill nr 208 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_setxattr nr 209 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_lsetxattr nr 210 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_fsetxattr nr 211 nbargs 5 types: (int, const char *, const void *, size_t, int) args: (fd, name, value, size, flags)
syscall sys_getxattr nr 212 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_lgetxattr nr 213 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_fgetxattr nr 214 nbargs 4 types: (int, const char *, void *, size_t) args: (fd, name, value, size)
syscall sys_listxattr nr 215 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_llistxattr nr 216 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_flistxattr nr 217 nbargs 3 types: (int, char *, size_t) args: (fd, list, size)
syscall sys_removexattr nr 218 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_lremovexattr nr 219 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_fremovexattr nr 220 nbargs 2 types: (int, const char *) args: (fd, name)
syscall sys_futex nr 221 nbargs 6 types: (u32 *, int, u32, struct timespec *, u32 *, u32) args: (uaddr, op, val, utime, uaddr2, val3)
syscall sys_sched_setaffinity nr 222 nbargs 3 types: (pid_t, unsigned int, unsigned long *) args: (pid, len, user_mask_ptr)
syscall sys_sched_getaffinity nr 223 nbargs 3 types: (pid_t, unsigned int, unsigned long *) args: (pid, len, user_mask_ptr)
syscall sys_sendfile64 nr 226 nbargs 4 types: (int, int, loff_t *, size_t) args: (out_fd, in_fd, offset, count)
syscall sys_io_setup nr 227 nbargs 2 types: (unsigned, aio_context_t *) args: (nr_events, ctxp)
syscall sys_io_destroy nr 228 nbargs 1 types: (aio_context_t) args: (ctx)
syscall sys_io_getevents nr 229 nbargs 5 types: (aio_context_t, long, long, struct io_event *, struct timespec *) args: (ctx_id, min_nr, nr, events, timeout)
syscall sys_io_submit nr 230 nbargs 3 types: (aio_context_t, long, struct iocb * *) args: (ctx_id, nr, iocbpp)
syscall sys_io_cancel nr 231 nbargs 3 types: (aio_context_t, struct iocb *, struct io_event *) args: (ctx_id, iocb, result)
syscall sys_set_tid_address nr 232 nbargs 1 types: (int *) args: (tidptr)
syscall sys_exit_group nr 234 nbargs 1 types: (int) args: (error_code)
syscall sys_epoll_create nr 236 nbargs 1 types: (int) args: (size)
syscall sys_epoll_ctl nr 237 nbargs 4 types: (int, int, int, struct epoll_event *) args: (epfd, op, fd, event)
syscall sys_epoll_wait nr 238 nbargs 4 types: (int, struct epoll_event *, int, int) args: (epfd, events, maxevents, timeout)
syscall sys_remap_file_pages nr 239 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (start, size, prot, pgoff, flags)
syscall sys_timer_create nr 240 nbargs 3 types: (const clockid_t, struct sigevent *, timer_t *) args: (which_clock, timer_event_spec, created_timer_id)
syscall sys_timer_settime nr 241 nbargs 4 types: (timer_t, int, const struct itimerspec *, struct itimerspec *) args: (timer_id, flags, new_setting, old_setting)
syscall sys_timer_gettime nr 242 nbargs 2 types: (timer_t, struct itimerspec *) args: (timer_id, setting)
syscall sys_timer_getoverrun nr 243 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_timer_delete nr 244 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_clock_settime nr 245 nbargs 2 types: (const clockid_t, const struct timespec *) args: (which_clock, tp)
syscall sys_clock_gettime nr 246 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_getres nr 247 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_nanosleep nr 248 nbargs 4 types: (const clockid_t, int, const struct timespec *, struct timespec *) args: (which_clock, flags, rqtp, rmtp)
syscall sys_tgkill nr 250 nbargs 3 types: (pid_t, pid_t, int) args: (tgid, pid, sig)
syscall sys_utimes nr 251 nbargs 2 types: (char *, struct timeval *) args: (filename, utimes)
syscall sys_statfs64 nr 252 nbargs 3 types: (const char *, size_t, struct statfs64 *) args: (pathname, sz, buf)
syscall sys_fstatfs64 nr 253 nbargs 3 types: (unsigned int, size_t, struct statfs64 *) args: (fd, sz, buf)
syscall sys_mq_open nr 262 nbargs 4 types: (const char *, int, mode_t, struct mq_attr *) args: (u_name, oflag, mode, u_attr)
syscall sys_mq_unlink nr 263 nbargs 1 types: (const char *) args: (u_name)
syscall sys_mq_timedsend nr 264 nbargs 5 types: (mqd_t, const char *, size_t, unsigned int, const struct timespec *) args: (mqdes, u_msg_ptr, msg_len, msg_prio, u_abs_timeout)
syscall sys_mq_timedreceive nr 265 nbargs 5 types: (mqd_t, char *, size_t, unsigned int *, const struct timespec *) args: (mqdes, u_msg_ptr, msg_len, u_msg_prio, u_abs_timeout)
syscall sys_mq_notify nr 266 nbargs 2 types: (mqd_t, const struct sigevent *) args: (mqdes, u_notification)
syscall sys_mq_getsetattr nr 267 nbargs 3 types: (mqd_t, const struct mq_attr *, struct mq_attr *) args: (mqdes, u_mqstat, u_omqstat)
syscall sys_add_key nr 269 nbargs 5 types: (const char *, const char *, const void *, size_t, key_serial_t) args: (_type, _description, _payload, plen, ringid)
syscall sys_request_key nr 270 nbargs 4 types: (const char *, const char *, const char *, key_serial_t) args: (_type, _description, _callout_info, destringid)
syscall sys_keyctl nr 271 nbargs 5 types: (int, unsigned long, unsigned long, unsigned long, unsigned long) args: (option, arg2, arg3, arg4, arg5)
syscall sys_waitid nr 272 nbargs 5 types: (int, pid_t, struct siginfo *, int, struct rusage *) args: (which, upid, infop, options, ru)
syscall sys_ioprio_set nr 273 nbargs 3 types: (int, int, int) args: (which, who, ioprio)
syscall sys_ioprio_get nr 274 nbargs 2 types: (int, int) args: (which, who)
syscall sys_inotify_init nr 275 nbargs 0 types: () args: ()
syscall sys_inotify_add_watch nr 276 nbargs 3 types: (int, const char *, u32) args: (fd, pathname, mask)
syscall sys_inotify_rm_watch nr 277 nbargs 2 types: (int, __s32) args: (fd, wd)
syscall sys_pselect6 nr 280 nbargs 6 types: (int, fd_set *, fd_set *, fd_set *, struct timespec *, void *) args: (n, inp, outp, exp, tsp, sig)
syscall sys_ppoll nr 281 nbargs 5 types: (struct pollfd *, unsigned int, struct timespec *, const sigset_t *, size_t) args: (ufds, nfds, tsp, sigmask, sigsetsize)
syscall sys_unshare nr 282 nbargs 1 types: (unsigned long) args: (unshare_flags)
syscall sys_splice nr 283 nbargs 6 types: (int, loff_t *, int, loff_t *, size_t, unsigned int) args: (fd_in, off_in, fd_out, off_out, len, flags)
syscall sys_tee nr 284 nbargs 4 types: (int, int, size_t, unsigned int) args: (fdin, fdout, len, flags)
syscall sys_vmsplice nr 285 nbargs 4 types: (int, const struct iovec *, unsigned long, unsigned int) args: (fd, iov, nr_segs, flags)
syscall sys_openat nr 286 nbargs 4 types: (int, const char *, int, int) args: (dfd, filename, flags, mode)
syscall sys_mkdirat nr 287 nbargs 3 types: (int, const char *, int) args: (dfd, pathname, mode)
syscall sys_mknodat nr 288 nbargs 4 types: (int, const char *, int, unsigned) args: (dfd, filename, mode, dev)
syscall sys_fchownat nr 289 nbargs 5 types: (int, const char *, uid_t, gid_t, int) args: (dfd, filename, user, group, flag)
syscall sys_futimesat nr 290 nbargs 3 types: (int, const char *, struct timeval *) args: (dfd, filename, utimes)
syscall sys_fstatat64 nr 291 nbargs 4 types: (int, const char *, struct stat64 *, int) args: (dfd, filename, statbuf, flag)
syscall sys_unlinkat nr 292 nbargs 3 types: (int, const char *, int) args: (dfd, pathname, flag)
syscall sys_renameat nr 293 nbargs 4 types: (int, const char *, int, const char *) args: (olddfd, oldname, newdfd, newname)
syscall sys_linkat nr 294 nbargs 5 types: (int, const char *, int, const char *, int) args: (olddfd, oldname, newdfd, newname, flags)
syscall sys_symlinkat nr 295 nbargs 3 types: (const char *, int, const char *) args: (oldname, newdfd, newname)
syscall sys_readlinkat nr 296 nbargs 4 types: (int, const char *, char *, int) args: (dfd, pathname, buf, bufsiz)
syscall sys_fchmodat nr 297 nbargs 3 types: (int, const char *, mode_t) args: (dfd, filename, mode)
syscall sys_faccessat nr 298 nbargs 3 types: (int, const char *, int) args: (dfd, filename, mode)
syscall sys_get_robust_list nr 299 nbargs 3 types: (int, struct robust_list_head * *, size_t *) args: (pid, head_ptr, len_ptr)
syscall sys_set_robust_list nr 300 nbargs 2 types: (struct robust_list_head *, size_t) args: (head, len)
syscall sys_getcpu nr 302 nbargs 3 types: (unsigned *, unsigned *, struct getcpu_cache *) args: (cpup, nodep, unused)
syscall sys_epoll_pwait nr 303 nbargs 6 types: (int, struct epoll_event *, int, int, const sigset_t *, size_t) args: (epfd, events, maxevents, timeout, sigmask, sigsetsize)
syscall sys_utimensat nr 304 nbargs 4 types: (int, const char *, struct timespec *, int) args: (dfd, filename, utimes, flags)
syscall sys_signalfd nr 305 nbargs 3 types: (int, sigset_t *, size_t) args: (ufd, user_mask, sizemask)
syscall sys_timerfd_create nr 306 nbargs 2 types: (int, int) args: (clockid, flags)
syscall sys_eventfd nr 307 nbargs 1 types: (unsigned int) args: (count)
syscall sys_timerfd_settime nr 311 nbargs 4 types: (int, int, const struct itimerspec *, struct itimerspec *) args: (ufd, flags, utmr, otmr)
syscall sys_timerfd_gettime nr 312 nbargs 2 types: (int, struct itimerspec *) args: (ufd, otmr)
syscall sys_signalfd4 nr 313 nbargs 4 types: (int, sigset_t *, size_t, int) args: (ufd, user_mask, sizemask, flags)
syscall sys_eventfd2 nr 314 nbargs 2 types: (unsigned int, int) args: (count, flags)
syscall sys_epoll_create1 nr 315 nbargs 1 types: (int) args: (flags)
syscall sys_dup3 nr 316 nbargs 3 types: (unsigned int, unsigned int, int) args: (oldfd, newfd, flags)
syscall sys_pipe2 nr 317 nbargs 2 types: (int *, int) args: (fildes, flags)
syscall sys_inotify_init1 nr 318 nbargs 1 types: (int) args: (flags)
syscall sys_perf_event_open nr 319 nbargs 5 types: (struct perf_event_attr *, pid_t, int, int, unsigned long) args: (attr_uptr, pid, cpu, group_fd, flags)
syscall sys_preadv nr 320 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_pwritev nr 321 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_rt_tgsigqueueinfo nr 322 nbargs 4 types: (pid_t, pid_t, int, siginfo_t *) args: (tgid, pid, sig, uinfo)
syscall sys_prlimit64 nr 325 nbargs 4 types: (pid_t, unsigned int, const struct rlimit64 *, struct rlimit64 *) args: (pid, resource, new_rlim, old_rlim)
syscall sys_socket nr 326 nbargs 3 types: (int, int, int) args: (family, type, protocol)
syscall sys_bind nr 327 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, umyaddr, addrlen)
syscall sys_connect nr 328 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, uservaddr, addrlen)
syscall sys_listen nr 329 nbargs 2 types: (int, int) args: (fd, backlog)
syscall sys_accept nr 330 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, upeer_sockaddr, upeer_addrlen)
syscall sys_getsockname nr 331 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_getpeername nr 332 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_socketpair nr 333 nbargs 4 types: (int, int, int, int *) args: (family, type, protocol, usockvec)
syscall sys_send nr 334 nbargs 4 types: (int, void *, size_t, unsigned) args: (fd, buff, len, flags)
syscall sys_sendto nr 335 nbargs 6 types: (int, void *, size_t, unsigned, struct sockaddr *, int) args: (fd, buff, len, flags, addr, addr_len)
syscall sys_recvfrom nr 337 nbargs 6 types: (int, void *, size_t, unsigned, struct sockaddr *, int *) args: (fd, ubuf, size, flags, addr, addr_len)
syscall sys_shutdown nr 338 nbargs 2 types: (int, int) args: (fd, how)
syscall sys_setsockopt nr 339 nbargs 5 types: (int, int, int, char *, int) args: (fd, level, optname, optval, optlen)
syscall sys_getsockopt nr 340 nbargs 5 types: (int, int, int, char *, int *) args: (fd, level, optname, optval, optlen)
syscall sys_sendmsg nr 341 nbargs 3 types: (int, struct msghdr *, unsigned) args: (fd, msg, flags)
syscall sys_recvmsg nr 342 nbargs 3 types: (int, struct msghdr *, unsigned int) args: (fd, msg, flags)
syscall sys_recvmmsg nr 343 nbargs 5 types: (int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *) args: (fd, mmsg, vlen, flags, timeout)
syscall sys_accept4 nr 344 nbargs 4 types: (int, struct sockaddr *, int *, int) args: (fd, upeer_sockaddr, upeer_addrlen, flags)
syscall sys_clock_adjtime nr 347 nbargs 2 types: (const clockid_t, struct timex *) args: (which_clock, utx)
syscall sys_syncfs nr 348 nbargs 1 types: (int) args: (fd)
syscall sys_sendmmsg nr 349 nbargs 4 types: (int, struct mmsghdr *, unsigned int, unsigned int) args: (fd, mmsg, vlen, flags)
syscall sys_setns nr 350 nbargs 2 types: (int, int) args: (fd, nstype)

View File

@ -0,0 +1,291 @@
syscall sys_restart_syscall nr 0 nbargs 0 types: () args: ()
syscall sys_exit nr 1 nbargs 1 types: (int) args: (error_code)
syscall sys_read nr 3 nbargs 3 types: (unsigned int, char *, size_t) args: (fd, buf, count)
syscall sys_write nr 4 nbargs 3 types: (unsigned int, const char *, size_t) args: (fd, buf, count)
syscall sys_open nr 5 nbargs 3 types: (const char *, int, int) args: (filename, flags, mode)
syscall sys_close nr 6 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_waitpid nr 7 nbargs 3 types: (pid_t, int *, int) args: (pid, stat_addr, options)
syscall sys_creat nr 8 nbargs 2 types: (const char *, int) args: (pathname, mode)
syscall sys_link nr 9 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_unlink nr 10 nbargs 1 types: (const char *) args: (pathname)
syscall sys_chdir nr 12 nbargs 1 types: (const char *) args: (filename)
syscall sys_time nr 13 nbargs 1 types: (time_t *) args: (tloc)
syscall sys_mknod nr 14 nbargs 3 types: (const char *, int, unsigned) args: (filename, mode, dev)
syscall sys_chmod nr 15 nbargs 2 types: (const char *, mode_t) args: (filename, mode)
syscall sys_lchown16 nr 16 nbargs 3 types: (const char *, old_uid_t, old_gid_t) args: (filename, user, group)
syscall sys_stat nr 18 nbargs 2 types: (const char *, struct __old_kernel_stat *) args: (filename, statbuf)
syscall sys_lseek nr 19 nbargs 3 types: (unsigned int, off_t, unsigned int) args: (fd, offset, origin)
syscall sys_getpid nr 20 nbargs 0 types: () args: ()
syscall sys_mount nr 21 nbargs 5 types: (char *, char *, char *, unsigned long, void *) args: (dev_name, dir_name, type, flags, data)
syscall sys_oldumount nr 22 nbargs 1 types: (char *) args: (name)
syscall sys_setuid16 nr 23 nbargs 1 types: (old_uid_t) args: (uid)
syscall sys_getuid16 nr 24 nbargs 0 types: () args: ()
syscall sys_stime nr 25 nbargs 1 types: (time_t *) args: (tptr)
syscall sys_ptrace nr 26 nbargs 4 types: (long, long, unsigned long, unsigned long) args: (request, pid, addr, data)
syscall sys_alarm nr 27 nbargs 1 types: (unsigned int) args: (seconds)
syscall sys_fstat nr 28 nbargs 2 types: (unsigned int, struct __old_kernel_stat *) args: (fd, statbuf)
syscall sys_pause nr 29 nbargs 0 types: () args: ()
syscall sys_utime nr 30 nbargs 2 types: (char *, struct utimbuf *) args: (filename, times)
syscall sys_access nr 33 nbargs 2 types: (const char *, int) args: (filename, mode)
syscall sys_nice nr 34 nbargs 1 types: (int) args: (increment)
syscall sys_sync nr 36 nbargs 0 types: () args: ()
syscall sys_kill nr 37 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_rename nr 38 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_mkdir nr 39 nbargs 2 types: (const char *, int) args: (pathname, mode)
syscall sys_rmdir nr 40 nbargs 1 types: (const char *) args: (pathname)
syscall sys_dup nr 41 nbargs 1 types: (unsigned int) args: (fildes)
syscall sys_pipe nr 42 nbargs 1 types: (int *) args: (fildes)
syscall sys_times nr 43 nbargs 1 types: (struct tms *) args: (tbuf)
syscall sys_brk nr 45 nbargs 1 types: (unsigned long) args: (brk)
syscall sys_setgid16 nr 46 nbargs 1 types: (old_gid_t) args: (gid)
syscall sys_getgid16 nr 47 nbargs 0 types: () args: ()
syscall sys_signal nr 48 nbargs 2 types: (int, __sighandler_t) args: (sig, handler)
syscall sys_geteuid16 nr 49 nbargs 0 types: () args: ()
syscall sys_getegid16 nr 50 nbargs 0 types: () args: ()
syscall sys_acct nr 51 nbargs 1 types: (const char *) args: (name)
syscall sys_umount nr 52 nbargs 2 types: (char *, int) args: (name, flags)
syscall sys_ioctl nr 54 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_fcntl nr 55 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_setpgid nr 57 nbargs 2 types: (pid_t, pid_t) args: (pid, pgid)
syscall sys_olduname nr 59 nbargs 1 types: (struct oldold_utsname *) args: (name)
syscall sys_umask nr 60 nbargs 1 types: (int) args: (mask)
syscall sys_chroot nr 61 nbargs 1 types: (const char *) args: (filename)
syscall sys_ustat nr 62 nbargs 2 types: (unsigned, struct ustat *) args: (dev, ubuf)
syscall sys_dup2 nr 63 nbargs 2 types: (unsigned int, unsigned int) args: (oldfd, newfd)
syscall sys_getppid nr 64 nbargs 0 types: () args: ()
syscall sys_getpgrp nr 65 nbargs 0 types: () args: ()
syscall sys_setsid nr 66 nbargs 0 types: () args: ()
syscall sys_sgetmask nr 68 nbargs 0 types: () args: ()
syscall sys_ssetmask nr 69 nbargs 1 types: (int) args: (newmask)
syscall sys_setreuid16 nr 70 nbargs 2 types: (old_uid_t, old_uid_t) args: (ruid, euid)
syscall sys_setregid16 nr 71 nbargs 2 types: (old_gid_t, old_gid_t) args: (rgid, egid)
syscall sys_sigpending nr 73 nbargs 1 types: (old_sigset_t *) args: (set)
syscall sys_sethostname nr 74 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_setrlimit nr 75 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_old_getrlimit nr 76 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_getrusage nr 77 nbargs 2 types: (int, struct rusage *) args: (who, ru)
syscall sys_gettimeofday nr 78 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_settimeofday nr 79 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_getgroups16 nr 80 nbargs 2 types: (int, old_gid_t *) args: (gidsetsize, grouplist)
syscall sys_setgroups16 nr 81 nbargs 2 types: (int, old_gid_t *) args: (gidsetsize, grouplist)
syscall sys_old_select nr 82 nbargs 1 types: (struct sel_arg_struct *) args: (arg)
syscall sys_symlink nr 83 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_lstat nr 84 nbargs 2 types: (const char *, struct __old_kernel_stat *) args: (filename, statbuf)
syscall sys_readlink nr 85 nbargs 3 types: (const char *, char *, int) args: (path, buf, bufsiz)
syscall sys_uselib nr 86 nbargs 1 types: (const char *) args: (library)
syscall sys_swapon nr 87 nbargs 2 types: (const char *, int) args: (specialfile, swap_flags)
syscall sys_reboot nr 88 nbargs 4 types: (int, int, unsigned int, void *) args: (magic1, magic2, cmd, arg)
syscall sys_old_readdir nr 89 nbargs 3 types: (unsigned int, struct old_linux_dirent *, unsigned int) args: (fd, dirent, count)
syscall sys_old_mmap nr 90 nbargs 1 types: (struct mmap_arg_struct *) args: (arg)
syscall sys_munmap nr 91 nbargs 2 types: (unsigned long, size_t) args: (addr, len)
syscall sys_truncate nr 92 nbargs 2 types: (const char *, long) args: (path, length)
syscall sys_ftruncate nr 93 nbargs 2 types: (unsigned int, unsigned long) args: (fd, length)
syscall sys_fchmod nr 94 nbargs 2 types: (unsigned int, mode_t) args: (fd, mode)
syscall sys_fchown16 nr 95 nbargs 3 types: (unsigned int, old_uid_t, old_gid_t) args: (fd, user, group)
syscall sys_getpriority nr 96 nbargs 2 types: (int, int) args: (which, who)
syscall sys_setpriority nr 97 nbargs 3 types: (int, int, int) args: (which, who, niceval)
syscall sys_statfs nr 99 nbargs 2 types: (const char *, struct statfs *) args: (pathname, buf)
syscall sys_fstatfs nr 100 nbargs 2 types: (unsigned int, struct statfs *) args: (fd, buf)
syscall sys_socketcall nr 102 nbargs 2 types: (int, unsigned long *) args: (call, args)
syscall sys_syslog nr 103 nbargs 3 types: (int, char *, int) args: (type, buf, len)
syscall sys_setitimer nr 104 nbargs 3 types: (int, struct itimerval *, struct itimerval *) args: (which, value, ovalue)
syscall sys_getitimer nr 105 nbargs 2 types: (int, struct itimerval *) args: (which, value)
syscall sys_newstat nr 106 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_newlstat nr 107 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_newfstat nr 108 nbargs 2 types: (unsigned int, struct stat *) args: (fd, statbuf)
syscall sys_uname nr 109 nbargs 1 types: (struct old_utsname *) args: (name)
syscall sys_vhangup nr 111 nbargs 0 types: () args: ()
syscall sys_wait4 nr 114 nbargs 4 types: (pid_t, int *, int, struct rusage *) args: (upid, stat_addr, options, ru)
syscall sys_swapoff nr 115 nbargs 1 types: (const char *) args: (specialfile)
syscall sys_sysinfo nr 116 nbargs 1 types: (struct sysinfo *) args: (info)
syscall sys_ipc nr 117 nbargs 6 types: (unsigned int, int, unsigned long, unsigned long, void *, long) args: (call, first, second, third, ptr, fifth)
syscall sys_fsync nr 118 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_setdomainname nr 121 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_newuname nr 122 nbargs 1 types: (struct new_utsname *) args: (name)
syscall sys_adjtimex nr 124 nbargs 1 types: (struct timex *) args: (txc_p)
syscall sys_mprotect nr 125 nbargs 3 types: (unsigned long, size_t, unsigned long) args: (start, len, prot)
syscall sys_sigprocmask nr 126 nbargs 3 types: (int, old_sigset_t *, old_sigset_t *) args: (how, nset, oset)
syscall sys_init_module nr 128 nbargs 3 types: (void *, unsigned long, const char *) args: (umod, len, uargs)
syscall sys_delete_module nr 129 nbargs 2 types: (const char *, unsigned int) args: (name_user, flags)
syscall sys_quotactl nr 131 nbargs 4 types: (unsigned int, const char *, qid_t, void *) args: (cmd, special, id, addr)
syscall sys_getpgid nr 132 nbargs 1 types: (pid_t) args: (pid)
syscall sys_fchdir nr 133 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_bdflush nr 134 nbargs 2 types: (int, long) args: (func, data)
syscall sys_sysfs nr 135 nbargs 3 types: (int, unsigned long, unsigned long) args: (option, arg1, arg2)
syscall sys_personality nr 136 nbargs 1 types: (unsigned int) args: (personality)
syscall sys_setfsuid16 nr 138 nbargs 1 types: (old_uid_t) args: (uid)
syscall sys_setfsgid16 nr 139 nbargs 1 types: (old_gid_t) args: (gid)
syscall sys_llseek nr 140 nbargs 5 types: (unsigned int, unsigned long, unsigned long, loff_t *, unsigned int) args: (fd, offset_high, offset_low, result, origin)
syscall sys_getdents nr 141 nbargs 3 types: (unsigned int, struct linux_dirent *, unsigned int) args: (fd, dirent, count)
syscall sys_select nr 142 nbargs 5 types: (int, fd_set *, fd_set *, fd_set *, struct timeval *) args: (n, inp, outp, exp, tvp)
syscall sys_flock nr 143 nbargs 2 types: (unsigned int, unsigned int) args: (fd, cmd)
syscall sys_msync nr 144 nbargs 3 types: (unsigned long, size_t, int) args: (start, len, flags)
syscall sys_readv nr 145 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_writev nr 146 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_getsid nr 147 nbargs 1 types: (pid_t) args: (pid)
syscall sys_fdatasync nr 148 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_sysctl nr 149 nbargs 1 types: (struct __sysctl_args *) args: (args)
syscall sys_mlock nr 150 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_munlock nr 151 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_mlockall nr 152 nbargs 1 types: (int) args: (flags)
syscall sys_munlockall nr 153 nbargs 0 types: () args: ()
syscall sys_sched_setparam nr 154 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_getparam nr 155 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_setscheduler nr 156 nbargs 3 types: (pid_t, int, struct sched_param *) args: (pid, policy, param)
syscall sys_sched_getscheduler nr 157 nbargs 1 types: (pid_t) args: (pid)
syscall sys_sched_yield nr 158 nbargs 0 types: () args: ()
syscall sys_sched_get_priority_max nr 159 nbargs 1 types: (int) args: (policy)
syscall sys_sched_get_priority_min nr 160 nbargs 1 types: (int) args: (policy)
syscall sys_sched_rr_get_interval nr 161 nbargs 2 types: (pid_t, struct timespec *) args: (pid, interval)
syscall sys_nanosleep nr 162 nbargs 2 types: (struct timespec *, struct timespec *) args: (rqtp, rmtp)
syscall sys_mremap nr 163 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (addr, old_len, new_len, flags, new_addr)
syscall sys_setresuid16 nr 164 nbargs 3 types: (old_uid_t, old_uid_t, old_uid_t) args: (ruid, euid, suid)
syscall sys_getresuid16 nr 165 nbargs 3 types: (old_uid_t *, old_uid_t *, old_uid_t *) args: (ruid, euid, suid)
syscall sys_poll nr 168 nbargs 3 types: (struct pollfd *, unsigned int, long) args: (ufds, nfds, timeout_msecs)
syscall sys_setresgid16 nr 170 nbargs 3 types: (old_gid_t, old_gid_t, old_gid_t) args: (rgid, egid, sgid)
syscall sys_getresgid16 nr 171 nbargs 3 types: (old_gid_t *, old_gid_t *, old_gid_t *) args: (rgid, egid, sgid)
syscall sys_prctl nr 172 nbargs 5 types: (int, unsigned long, unsigned long, unsigned long, unsigned long) args: (option, arg2, arg3, arg4, arg5)
syscall sys_rt_sigaction nr 174 nbargs 4 types: (int, const struct sigaction *, struct sigaction *, size_t) args: (sig, act, oact, sigsetsize)
syscall sys_rt_sigprocmask nr 175 nbargs 4 types: (int, sigset_t *, sigset_t *, size_t) args: (how, nset, oset, sigsetsize)
syscall sys_rt_sigpending nr 176 nbargs 2 types: (sigset_t *, size_t) args: (set, sigsetsize)
syscall sys_rt_sigtimedwait nr 177 nbargs 4 types: (const sigset_t *, siginfo_t *, const struct timespec *, size_t) args: (uthese, uinfo, uts, sigsetsize)
syscall sys_rt_sigqueueinfo nr 178 nbargs 3 types: (pid_t, int, siginfo_t *) args: (pid, sig, uinfo)
syscall sys_rt_sigsuspend nr 179 nbargs 2 types: (sigset_t *, size_t) args: (unewset, sigsetsize)
syscall sys_chown16 nr 182 nbargs 3 types: (const char *, old_uid_t, old_gid_t) args: (filename, user, group)
syscall sys_getcwd nr 183 nbargs 2 types: (char *, unsigned long) args: (buf, size)
syscall sys_capget nr 184 nbargs 2 types: (cap_user_header_t, cap_user_data_t) args: (header, dataptr)
syscall sys_capset nr 185 nbargs 2 types: (cap_user_header_t, const cap_user_data_t) args: (header, data)
syscall sys_sendfile nr 187 nbargs 4 types: (int, int, off_t *, size_t) args: (out_fd, in_fd, offset, count)
syscall sys_getrlimit nr 191 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_mmap_pgoff nr 192 nbargs 6 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (addr, len, prot, flags, fd, pgoff)
syscall sys_stat64 nr 195 nbargs 2 types: (const char *, struct stat64 *) args: (filename, statbuf)
syscall sys_lstat64 nr 196 nbargs 2 types: (const char *, struct stat64 *) args: (filename, statbuf)
syscall sys_fstat64 nr 197 nbargs 2 types: (unsigned long, struct stat64 *) args: (fd, statbuf)
syscall sys_lchown nr 198 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_getuid nr 199 nbargs 0 types: () args: ()
syscall sys_getgid nr 200 nbargs 0 types: () args: ()
syscall sys_geteuid nr 201 nbargs 0 types: () args: ()
syscall sys_getegid nr 202 nbargs 0 types: () args: ()
syscall sys_setreuid nr 203 nbargs 2 types: (uid_t, uid_t) args: (ruid, euid)
syscall sys_setregid nr 204 nbargs 2 types: (gid_t, gid_t) args: (rgid, egid)
syscall sys_getgroups nr 205 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_setgroups nr 206 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_fchown nr 207 nbargs 3 types: (unsigned int, uid_t, gid_t) args: (fd, user, group)
syscall sys_setresuid nr 208 nbargs 3 types: (uid_t, uid_t, uid_t) args: (ruid, euid, suid)
syscall sys_getresuid nr 209 nbargs 3 types: (uid_t *, uid_t *, uid_t *) args: (ruid, euid, suid)
syscall sys_setresgid nr 210 nbargs 3 types: (gid_t, gid_t, gid_t) args: (rgid, egid, sgid)
syscall sys_getresgid nr 211 nbargs 3 types: (gid_t *, gid_t *, gid_t *) args: (rgid, egid, sgid)
syscall sys_chown nr 212 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_setuid nr 213 nbargs 1 types: (uid_t) args: (uid)
syscall sys_setgid nr 214 nbargs 1 types: (gid_t) args: (gid)
syscall sys_setfsuid nr 215 nbargs 1 types: (uid_t) args: (uid)
syscall sys_setfsgid nr 216 nbargs 1 types: (gid_t) args: (gid)
syscall sys_pivot_root nr 217 nbargs 2 types: (const char *, const char *) args: (new_root, put_old)
syscall sys_mincore nr 218 nbargs 3 types: (unsigned long, size_t, unsigned char *) args: (start, len, vec)
syscall sys_madvise nr 219 nbargs 3 types: (unsigned long, size_t, int) args: (start, len_in, behavior)
syscall sys_getdents64 nr 220 nbargs 3 types: (unsigned int, struct linux_dirent64 *, unsigned int) args: (fd, dirent, count)
syscall sys_fcntl64 nr 221 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_gettid nr 224 nbargs 0 types: () args: ()
syscall sys_setxattr nr 226 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_lsetxattr nr 227 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_fsetxattr nr 228 nbargs 5 types: (int, const char *, const void *, size_t, int) args: (fd, name, value, size, flags)
syscall sys_getxattr nr 229 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_lgetxattr nr 230 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_fgetxattr nr 231 nbargs 4 types: (int, const char *, void *, size_t) args: (fd, name, value, size)
syscall sys_listxattr nr 232 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_llistxattr nr 233 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_flistxattr nr 234 nbargs 3 types: (int, char *, size_t) args: (fd, list, size)
syscall sys_removexattr nr 235 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_lremovexattr nr 236 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_fremovexattr nr 237 nbargs 2 types: (int, const char *) args: (fd, name)
syscall sys_tkill nr 238 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_sendfile64 nr 239 nbargs 4 types: (int, int, loff_t *, size_t) args: (out_fd, in_fd, offset, count)
syscall sys_futex nr 240 nbargs 6 types: (u32 *, int, u32, struct timespec *, u32 *, u32) args: (uaddr, op, val, utime, uaddr2, val3)
syscall sys_sched_setaffinity nr 241 nbargs 3 types: (pid_t, unsigned int, unsigned long *) args: (pid, len, user_mask_ptr)
syscall sys_sched_getaffinity nr 242 nbargs 3 types: (pid_t, unsigned int, unsigned long *) args: (pid, len, user_mask_ptr)
syscall sys_io_setup nr 245 nbargs 2 types: (unsigned, aio_context_t *) args: (nr_events, ctxp)
syscall sys_io_destroy nr 246 nbargs 1 types: (aio_context_t) args: (ctx)
syscall sys_io_getevents nr 247 nbargs 5 types: (aio_context_t, long, long, struct io_event *, struct timespec *) args: (ctx_id, min_nr, nr, events, timeout)
syscall sys_io_submit nr 248 nbargs 3 types: (aio_context_t, long, struct iocb * *) args: (ctx_id, nr, iocbpp)
syscall sys_io_cancel nr 249 nbargs 3 types: (aio_context_t, struct iocb *, struct io_event *) args: (ctx_id, iocb, result)
syscall sys_exit_group nr 252 nbargs 1 types: (int) args: (error_code)
syscall sys_epoll_create nr 254 nbargs 1 types: (int) args: (size)
syscall sys_epoll_ctl nr 255 nbargs 4 types: (int, int, int, struct epoll_event *) args: (epfd, op, fd, event)
syscall sys_epoll_wait nr 256 nbargs 4 types: (int, struct epoll_event *, int, int) args: (epfd, events, maxevents, timeout)
syscall sys_remap_file_pages nr 257 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (start, size, prot, pgoff, flags)
syscall sys_set_tid_address nr 258 nbargs 1 types: (int *) args: (tidptr)
syscall sys_timer_create nr 259 nbargs 3 types: (const clockid_t, struct sigevent *, timer_t *) args: (which_clock, timer_event_spec, created_timer_id)
syscall sys_timer_settime nr 260 nbargs 4 types: (timer_t, int, const struct itimerspec *, struct itimerspec *) args: (timer_id, flags, new_setting, old_setting)
syscall sys_timer_gettime nr 261 nbargs 2 types: (timer_t, struct itimerspec *) args: (timer_id, setting)
syscall sys_timer_getoverrun nr 262 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_timer_delete nr 263 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_clock_settime nr 264 nbargs 2 types: (const clockid_t, const struct timespec *) args: (which_clock, tp)
syscall sys_clock_gettime nr 265 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_getres nr 266 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_nanosleep nr 267 nbargs 4 types: (const clockid_t, int, const struct timespec *, struct timespec *) args: (which_clock, flags, rqtp, rmtp)
syscall sys_statfs64 nr 268 nbargs 3 types: (const char *, size_t, struct statfs64 *) args: (pathname, sz, buf)
syscall sys_fstatfs64 nr 269 nbargs 3 types: (unsigned int, size_t, struct statfs64 *) args: (fd, sz, buf)
syscall sys_tgkill nr 270 nbargs 3 types: (pid_t, pid_t, int) args: (tgid, pid, sig)
syscall sys_utimes nr 271 nbargs 2 types: (char *, struct timeval *) args: (filename, utimes)
syscall sys_mq_open nr 277 nbargs 4 types: (const char *, int, mode_t, struct mq_attr *) args: (u_name, oflag, mode, u_attr)
syscall sys_mq_unlink nr 278 nbargs 1 types: (const char *) args: (u_name)
syscall sys_mq_timedsend nr 279 nbargs 5 types: (mqd_t, const char *, size_t, unsigned int, const struct timespec *) args: (mqdes, u_msg_ptr, msg_len, msg_prio, u_abs_timeout)
syscall sys_mq_timedreceive nr 280 nbargs 5 types: (mqd_t, char *, size_t, unsigned int *, const struct timespec *) args: (mqdes, u_msg_ptr, msg_len, u_msg_prio, u_abs_timeout)
syscall sys_mq_notify nr 281 nbargs 2 types: (mqd_t, const struct sigevent *) args: (mqdes, u_notification)
syscall sys_mq_getsetattr nr 282 nbargs 3 types: (mqd_t, const struct mq_attr *, struct mq_attr *) args: (mqdes, u_mqstat, u_omqstat)
syscall sys_kexec_load nr 283 nbargs 4 types: (unsigned long, unsigned long, struct kexec_segment *, unsigned long) args: (entry, nr_segments, segments, flags)
syscall sys_waitid nr 284 nbargs 5 types: (int, pid_t, struct siginfo *, int, struct rusage *) args: (which, upid, infop, options, ru)
syscall sys_add_key nr 286 nbargs 5 types: (const char *, const char *, const void *, size_t, key_serial_t) args: (_type, _description, _payload, plen, ringid)
syscall sys_request_key nr 287 nbargs 4 types: (const char *, const char *, const char *, key_serial_t) args: (_type, _description, _callout_info, destringid)
syscall sys_keyctl nr 288 nbargs 5 types: (int, unsigned long, unsigned long, unsigned long, unsigned long) args: (option, arg2, arg3, arg4, arg5)
syscall sys_ioprio_set nr 289 nbargs 3 types: (int, int, int) args: (which, who, ioprio)
syscall sys_ioprio_get nr 290 nbargs 2 types: (int, int) args: (which, who)
syscall sys_inotify_init nr 291 nbargs 0 types: () args: ()
syscall sys_inotify_add_watch nr 292 nbargs 3 types: (int, const char *, u32) args: (fd, pathname, mask)
syscall sys_inotify_rm_watch nr 293 nbargs 2 types: (int, __s32) args: (fd, wd)
syscall sys_openat nr 295 nbargs 4 types: (int, const char *, int, int) args: (dfd, filename, flags, mode)
syscall sys_mkdirat nr 296 nbargs 3 types: (int, const char *, int) args: (dfd, pathname, mode)
syscall sys_mknodat nr 297 nbargs 4 types: (int, const char *, int, unsigned) args: (dfd, filename, mode, dev)
syscall sys_fchownat nr 298 nbargs 5 types: (int, const char *, uid_t, gid_t, int) args: (dfd, filename, user, group, flag)
syscall sys_futimesat nr 299 nbargs 3 types: (int, const char *, struct timeval *) args: (dfd, filename, utimes)
syscall sys_fstatat64 nr 300 nbargs 4 types: (int, const char *, struct stat64 *, int) args: (dfd, filename, statbuf, flag)
syscall sys_unlinkat nr 301 nbargs 3 types: (int, const char *, int) args: (dfd, pathname, flag)
syscall sys_renameat nr 302 nbargs 4 types: (int, const char *, int, const char *) args: (olddfd, oldname, newdfd, newname)
syscall sys_linkat nr 303 nbargs 5 types: (int, const char *, int, const char *, int) args: (olddfd, oldname, newdfd, newname, flags)
syscall sys_symlinkat nr 304 nbargs 3 types: (const char *, int, const char *) args: (oldname, newdfd, newname)
syscall sys_readlinkat nr 305 nbargs 4 types: (int, const char *, char *, int) args: (dfd, pathname, buf, bufsiz)
syscall sys_fchmodat nr 306 nbargs 3 types: (int, const char *, mode_t) args: (dfd, filename, mode)
syscall sys_faccessat nr 307 nbargs 3 types: (int, const char *, int) args: (dfd, filename, mode)
syscall sys_pselect6 nr 308 nbargs 6 types: (int, fd_set *, fd_set *, fd_set *, struct timespec *, void *) args: (n, inp, outp, exp, tsp, sig)
syscall sys_ppoll nr 309 nbargs 5 types: (struct pollfd *, unsigned int, struct timespec *, const sigset_t *, size_t) args: (ufds, nfds, tsp, sigmask, sigsetsize)
syscall sys_unshare nr 310 nbargs 1 types: (unsigned long) args: (unshare_flags)
syscall sys_set_robust_list nr 311 nbargs 2 types: (struct robust_list_head *, size_t) args: (head, len)
syscall sys_get_robust_list nr 312 nbargs 3 types: (int, struct robust_list_head * *, size_t *) args: (pid, head_ptr, len_ptr)
syscall sys_splice nr 313 nbargs 6 types: (int, loff_t *, int, loff_t *, size_t, unsigned int) args: (fd_in, off_in, fd_out, off_out, len, flags)
syscall sys_tee nr 315 nbargs 4 types: (int, int, size_t, unsigned int) args: (fdin, fdout, len, flags)
syscall sys_vmsplice nr 316 nbargs 4 types: (int, const struct iovec *, unsigned long, unsigned int) args: (fd, iov, nr_segs, flags)
syscall sys_getcpu nr 318 nbargs 3 types: (unsigned *, unsigned *, struct getcpu_cache *) args: (cpup, nodep, unused)
syscall sys_epoll_pwait nr 319 nbargs 6 types: (int, struct epoll_event *, int, int, const sigset_t *, size_t) args: (epfd, events, maxevents, timeout, sigmask, sigsetsize)
syscall sys_utimensat nr 320 nbargs 4 types: (int, const char *, struct timespec *, int) args: (dfd, filename, utimes, flags)
syscall sys_signalfd nr 321 nbargs 3 types: (int, sigset_t *, size_t) args: (ufd, user_mask, sizemask)
syscall sys_timerfd_create nr 322 nbargs 2 types: (int, int) args: (clockid, flags)
syscall sys_eventfd nr 323 nbargs 1 types: (unsigned int) args: (count)
syscall sys_timerfd_settime nr 325 nbargs 4 types: (int, int, const struct itimerspec *, struct itimerspec *) args: (ufd, flags, utmr, otmr)
syscall sys_timerfd_gettime nr 326 nbargs 2 types: (int, struct itimerspec *) args: (ufd, otmr)
syscall sys_signalfd4 nr 327 nbargs 4 types: (int, sigset_t *, size_t, int) args: (ufd, user_mask, sizemask, flags)
syscall sys_eventfd2 nr 328 nbargs 2 types: (unsigned int, int) args: (count, flags)
syscall sys_epoll_create1 nr 329 nbargs 1 types: (int) args: (flags)
syscall sys_dup3 nr 330 nbargs 3 types: (unsigned int, unsigned int, int) args: (oldfd, newfd, flags)
syscall sys_pipe2 nr 331 nbargs 2 types: (int *, int) args: (fildes, flags)
syscall sys_inotify_init1 nr 332 nbargs 1 types: (int) args: (flags)
syscall sys_preadv nr 333 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_pwritev nr 334 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_rt_tgsigqueueinfo nr 335 nbargs 4 types: (pid_t, pid_t, int, siginfo_t *) args: (tgid, pid, sig, uinfo)
syscall sys_perf_event_open nr 336 nbargs 5 types: (struct perf_event_attr *, pid_t, int, int, unsigned long) args: (attr_uptr, pid, cpu, group_fd, flags)
syscall sys_recvmmsg nr 337 nbargs 5 types: (int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *) args: (fd, mmsg, vlen, flags, timeout)
syscall sys_fanotify_init nr 338 nbargs 2 types: (unsigned int, unsigned int) args: (flags, event_f_flags)
syscall sys_prlimit64 nr 340 nbargs 4 types: (pid_t, unsigned int, const struct rlimit64 *, struct rlimit64 *) args: (pid, resource, new_rlim, old_rlim)
syscall sys_clock_adjtime nr 343 nbargs 2 types: (const clockid_t, struct timex *) args: (which_clock, utx)
syscall sys_syncfs nr 344 nbargs 1 types: (int) args: (fd)
syscall sys_sendmmsg nr 345 nbargs 4 types: (int, struct mmsghdr *, unsigned int, unsigned int) args: (fd, mmsg, vlen, flags)
syscall sys_setns nr 346 nbargs 2 types: (int, int) args: (fd, nstype)

View File

@ -0,0 +1,289 @@
syscall sys_read nr 0 nbargs 3 types: (unsigned int, char *, size_t) args: (fd, buf, count)
syscall sys_write nr 1 nbargs 3 types: (unsigned int, const char *, size_t) args: (fd, buf, count)
syscall sys_open nr 2 nbargs 3 types: (const char *, int, umode_t) args: (filename, flags, mode)
syscall sys_close nr 3 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_newstat nr 4 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_newfstat nr 5 nbargs 2 types: (unsigned int, struct stat *) args: (fd, statbuf)
syscall sys_newlstat nr 6 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_poll nr 7 nbargs 3 types: (struct pollfd *, unsigned int, int) args: (ufds, nfds, timeout_msecs)
syscall sys_lseek nr 8 nbargs 3 types: (unsigned int, off_t, unsigned int) args: (fd, offset, whence)
syscall sys_mmap nr 9 nbargs 6 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (addr, len, prot, flags, fd, off)
syscall sys_mprotect nr 10 nbargs 3 types: (unsigned long, size_t, unsigned long) args: (start, len, prot)
syscall sys_munmap nr 11 nbargs 2 types: (unsigned long, size_t) args: (addr, len)
syscall sys_brk nr 12 nbargs 1 types: (unsigned long) args: (brk)
syscall sys_rt_sigaction nr 13 nbargs 4 types: (int, const struct sigaction *, struct sigaction *, size_t) args: (sig, act, oact, sigsetsize)
syscall sys_rt_sigprocmask nr 14 nbargs 4 types: (int, sigset_t *, sigset_t *, size_t) args: (how, nset, oset, sigsetsize)
syscall sys_ioctl nr 16 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_pread64 nr 17 nbargs 4 types: (unsigned int, char *, size_t, loff_t) args: (fd, buf, count, pos)
syscall sys_pwrite64 nr 18 nbargs 4 types: (unsigned int, const char *, size_t, loff_t) args: (fd, buf, count, pos)
syscall sys_readv nr 19 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_writev nr 20 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_access nr 21 nbargs 2 types: (const char *, int) args: (filename, mode)
syscall sys_pipe nr 22 nbargs 1 types: (int *) args: (fildes)
syscall sys_select nr 23 nbargs 5 types: (int, fd_set *, fd_set *, fd_set *, struct timeval *) args: (n, inp, outp, exp, tvp)
syscall sys_sched_yield nr 24 nbargs 0 types: () args: ()
syscall sys_mremap nr 25 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (addr, old_len, new_len, flags, new_addr)
syscall sys_msync nr 26 nbargs 3 types: (unsigned long, size_t, int) args: (start, len, flags)
syscall sys_mincore nr 27 nbargs 3 types: (unsigned long, size_t, unsigned char *) args: (start, len, vec)
syscall sys_madvise nr 28 nbargs 3 types: (unsigned long, size_t, int) args: (start, len_in, behavior)
syscall sys_shmget nr 29 nbargs 3 types: (key_t, size_t, int) args: (key, size, shmflg)
syscall sys_shmat nr 30 nbargs 3 types: (int, char *, int) args: (shmid, shmaddr, shmflg)
syscall sys_shmctl nr 31 nbargs 3 types: (int, int, struct shmid_ds *) args: (shmid, cmd, buf)
syscall sys_dup nr 32 nbargs 1 types: (unsigned int) args: (fildes)
syscall sys_dup2 nr 33 nbargs 2 types: (unsigned int, unsigned int) args: (oldfd, newfd)
syscall sys_pause nr 34 nbargs 0 types: () args: ()
syscall sys_nanosleep nr 35 nbargs 2 types: (struct timespec *, struct timespec *) args: (rqtp, rmtp)
syscall sys_getitimer nr 36 nbargs 2 types: (int, struct itimerval *) args: (which, value)
syscall sys_alarm nr 37 nbargs 1 types: (unsigned int) args: (seconds)
syscall sys_setitimer nr 38 nbargs 3 types: (int, struct itimerval *, struct itimerval *) args: (which, value, ovalue)
syscall sys_getpid nr 39 nbargs 0 types: () args: ()
syscall sys_sendfile64 nr 40 nbargs 4 types: (int, int, loff_t *, size_t) args: (out_fd, in_fd, offset, count)
syscall sys_socket nr 41 nbargs 3 types: (int, int, int) args: (family, type, protocol)
syscall sys_connect nr 42 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, uservaddr, addrlen)
syscall sys_accept nr 43 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, upeer_sockaddr, upeer_addrlen)
syscall sys_sendto nr 44 nbargs 6 types: (int, void *, size_t, unsigned int, struct sockaddr *, int) args: (fd, buff, len, flags, addr, addr_len)
syscall sys_recvfrom nr 45 nbargs 6 types: (int, void *, size_t, unsigned int, struct sockaddr *, int *) args: (fd, ubuf, size, flags, addr, addr_len)
syscall sys_sendmsg nr 46 nbargs 3 types: (int, struct msghdr *, unsigned int) args: (fd, msg, flags)
syscall sys_recvmsg nr 47 nbargs 3 types: (int, struct msghdr *, unsigned int) args: (fd, msg, flags)
syscall sys_shutdown nr 48 nbargs 2 types: (int, int) args: (fd, how)
syscall sys_bind nr 49 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, umyaddr, addrlen)
syscall sys_listen nr 50 nbargs 2 types: (int, int) args: (fd, backlog)
syscall sys_getsockname nr 51 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_getpeername nr 52 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_socketpair nr 53 nbargs 4 types: (int, int, int, int *) args: (family, type, protocol, usockvec)
syscall sys_setsockopt nr 54 nbargs 5 types: (int, int, int, char *, int) args: (fd, level, optname, optval, optlen)
syscall sys_getsockopt nr 55 nbargs 5 types: (int, int, int, char *, int *) args: (fd, level, optname, optval, optlen)
syscall sys_exit nr 60 nbargs 1 types: (int) args: (error_code)
syscall sys_wait4 nr 61 nbargs 4 types: (pid_t, int *, int, struct rusage *) args: (upid, stat_addr, options, ru)
syscall sys_kill nr 62 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_newuname nr 63 nbargs 1 types: (struct new_utsname *) args: (name)
syscall sys_semget nr 64 nbargs 3 types: (key_t, int, int) args: (key, nsems, semflg)
syscall sys_semop nr 65 nbargs 3 types: (int, struct sembuf *, unsigned) args: (semid, tsops, nsops)
syscall sys_semctl nr 66 nbargs 4 types: (int, int, int, unsigned long) args: (semid, semnum, cmd, arg)
syscall sys_shmdt nr 67 nbargs 1 types: (char *) args: (shmaddr)
syscall sys_msgget nr 68 nbargs 2 types: (key_t, int) args: (key, msgflg)
syscall sys_msgsnd nr 69 nbargs 4 types: (int, struct msgbuf *, size_t, int) args: (msqid, msgp, msgsz, msgflg)
syscall sys_msgrcv nr 70 nbargs 5 types: (int, struct msgbuf *, size_t, long, int) args: (msqid, msgp, msgsz, msgtyp, msgflg)
syscall sys_msgctl nr 71 nbargs 3 types: (int, int, struct msqid_ds *) args: (msqid, cmd, buf)
syscall sys_fcntl nr 72 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_flock nr 73 nbargs 2 types: (unsigned int, unsigned int) args: (fd, cmd)
syscall sys_fsync nr 74 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_fdatasync nr 75 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_truncate nr 76 nbargs 2 types: (const char *, long) args: (path, length)
syscall sys_ftruncate nr 77 nbargs 2 types: (unsigned int, unsigned long) args: (fd, length)
syscall sys_getdents nr 78 nbargs 3 types: (unsigned int, struct linux_dirent *, unsigned int) args: (fd, dirent, count)
syscall sys_getcwd nr 79 nbargs 2 types: (char *, unsigned long) args: (buf, size)
syscall sys_chdir nr 80 nbargs 1 types: (const char *) args: (filename)
syscall sys_fchdir nr 81 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_rename nr 82 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_mkdir nr 83 nbargs 2 types: (const char *, umode_t) args: (pathname, mode)
syscall sys_rmdir nr 84 nbargs 1 types: (const char *) args: (pathname)
syscall sys_creat nr 85 nbargs 2 types: (const char *, umode_t) args: (pathname, mode)
syscall sys_link nr 86 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_unlink nr 87 nbargs 1 types: (const char *) args: (pathname)
syscall sys_symlink nr 88 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_readlink nr 89 nbargs 3 types: (const char *, char *, int) args: (path, buf, bufsiz)
syscall sys_chmod nr 90 nbargs 2 types: (const char *, umode_t) args: (filename, mode)
syscall sys_fchmod nr 91 nbargs 2 types: (unsigned int, umode_t) args: (fd, mode)
syscall sys_chown nr 92 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_fchown nr 93 nbargs 3 types: (unsigned int, uid_t, gid_t) args: (fd, user, group)
syscall sys_lchown nr 94 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_umask nr 95 nbargs 1 types: (int) args: (mask)
syscall sys_gettimeofday nr 96 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_getrlimit nr 97 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_getrusage nr 98 nbargs 2 types: (int, struct rusage *) args: (who, ru)
syscall sys_sysinfo nr 99 nbargs 1 types: (struct sysinfo *) args: (info)
syscall sys_times nr 100 nbargs 1 types: (struct tms *) args: (tbuf)
syscall sys_ptrace nr 101 nbargs 4 types: (long, long, unsigned long, unsigned long) args: (request, pid, addr, data)
syscall sys_getuid nr 102 nbargs 0 types: () args: ()
syscall sys_syslog nr 103 nbargs 3 types: (int, char *, int) args: (type, buf, len)
syscall sys_getgid nr 104 nbargs 0 types: () args: ()
syscall sys_setuid nr 105 nbargs 1 types: (uid_t) args: (uid)
syscall sys_setgid nr 106 nbargs 1 types: (gid_t) args: (gid)
syscall sys_geteuid nr 107 nbargs 0 types: () args: ()
syscall sys_getegid nr 108 nbargs 0 types: () args: ()
syscall sys_setpgid nr 109 nbargs 2 types: (pid_t, pid_t) args: (pid, pgid)
syscall sys_getppid nr 110 nbargs 0 types: () args: ()
syscall sys_getpgrp nr 111 nbargs 0 types: () args: ()
syscall sys_setsid nr 112 nbargs 0 types: () args: ()
syscall sys_setreuid nr 113 nbargs 2 types: (uid_t, uid_t) args: (ruid, euid)
syscall sys_setregid nr 114 nbargs 2 types: (gid_t, gid_t) args: (rgid, egid)
syscall sys_getgroups nr 115 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_setgroups nr 116 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_setresuid nr 117 nbargs 3 types: (uid_t, uid_t, uid_t) args: (ruid, euid, suid)
syscall sys_getresuid nr 118 nbargs 3 types: (uid_t *, uid_t *, uid_t *) args: (ruidp, euidp, suidp)
syscall sys_setresgid nr 119 nbargs 3 types: (gid_t, gid_t, gid_t) args: (rgid, egid, sgid)
syscall sys_getresgid nr 120 nbargs 3 types: (gid_t *, gid_t *, gid_t *) args: (rgidp, egidp, sgidp)
syscall sys_getpgid nr 121 nbargs 1 types: (pid_t) args: (pid)
syscall sys_setfsuid nr 122 nbargs 1 types: (uid_t) args: (uid)
syscall sys_setfsgid nr 123 nbargs 1 types: (gid_t) args: (gid)
syscall sys_getsid nr 124 nbargs 1 types: (pid_t) args: (pid)
syscall sys_capget nr 125 nbargs 2 types: (cap_user_header_t, cap_user_data_t) args: (header, dataptr)
syscall sys_capset nr 126 nbargs 2 types: (cap_user_header_t, const cap_user_data_t) args: (header, data)
syscall sys_rt_sigpending nr 127 nbargs 2 types: (sigset_t *, size_t) args: (uset, sigsetsize)
syscall sys_rt_sigtimedwait nr 128 nbargs 4 types: (const sigset_t *, siginfo_t *, const struct timespec *, size_t) args: (uthese, uinfo, uts, sigsetsize)
syscall sys_rt_sigqueueinfo nr 129 nbargs 3 types: (pid_t, int, siginfo_t *) args: (pid, sig, uinfo)
syscall sys_rt_sigsuspend nr 130 nbargs 2 types: (sigset_t *, size_t) args: (unewset, sigsetsize)
syscall sys_sigaltstack nr 131 nbargs 2 types: (const stack_t *, stack_t *) args: (uss, uoss)
syscall sys_utime nr 132 nbargs 2 types: (char *, struct utimbuf *) args: (filename, times)
syscall sys_mknod nr 133 nbargs 3 types: (const char *, umode_t, unsigned) args: (filename, mode, dev)
syscall sys_personality nr 135 nbargs 1 types: (unsigned int) args: (personality)
syscall sys_ustat nr 136 nbargs 2 types: (unsigned, struct ustat *) args: (dev, ubuf)
syscall sys_statfs nr 137 nbargs 2 types: (const char *, struct statfs *) args: (pathname, buf)
syscall sys_fstatfs nr 138 nbargs 2 types: (unsigned int, struct statfs *) args: (fd, buf)
syscall sys_sysfs nr 139 nbargs 3 types: (int, unsigned long, unsigned long) args: (option, arg1, arg2)
syscall sys_getpriority nr 140 nbargs 2 types: (int, int) args: (which, who)
syscall sys_setpriority nr 141 nbargs 3 types: (int, int, int) args: (which, who, niceval)
syscall sys_sched_setparam nr 142 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_getparam nr 143 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_setscheduler nr 144 nbargs 3 types: (pid_t, int, struct sched_param *) args: (pid, policy, param)
syscall sys_sched_getscheduler nr 145 nbargs 1 types: (pid_t) args: (pid)
syscall sys_sched_get_priority_max nr 146 nbargs 1 types: (int) args: (policy)
syscall sys_sched_get_priority_min nr 147 nbargs 1 types: (int) args: (policy)
syscall sys_sched_rr_get_interval nr 148 nbargs 2 types: (pid_t, struct timespec *) args: (pid, interval)
syscall sys_mlock nr 149 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_munlock nr 150 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_mlockall nr 151 nbargs 1 types: (int) args: (flags)
syscall sys_munlockall nr 152 nbargs 0 types: () args: ()
syscall sys_vhangup nr 153 nbargs 0 types: () args: ()
syscall sys_pivot_root nr 155 nbargs 2 types: (const char *, const char *) args: (new_root, put_old)
syscall sys_sysctl nr 156 nbargs 1 types: (struct __sysctl_args *) args: (args)
syscall sys_prctl nr 157 nbargs 5 types: (int, unsigned long, unsigned long, unsigned long, unsigned long) args: (option, arg2, arg3, arg4, arg5)
syscall sys_adjtimex nr 159 nbargs 1 types: (struct timex *) args: (txc_p)
syscall sys_setrlimit nr 160 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_chroot nr 161 nbargs 1 types: (const char *) args: (filename)
syscall sys_sync nr 162 nbargs 0 types: () args: ()
syscall sys_acct nr 163 nbargs 1 types: (const char *) args: (name)
syscall sys_settimeofday nr 164 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_mount nr 165 nbargs 5 types: (char *, char *, char *, unsigned long, void *) args: (dev_name, dir_name, type, flags, data)
syscall sys_umount nr 166 nbargs 2 types: (char *, int) args: (name, flags)
syscall sys_swapon nr 167 nbargs 2 types: (const char *, int) args: (specialfile, swap_flags)
syscall sys_swapoff nr 168 nbargs 1 types: (const char *) args: (specialfile)
syscall sys_reboot nr 169 nbargs 4 types: (int, int, unsigned int, void *) args: (magic1, magic2, cmd, arg)
syscall sys_sethostname nr 170 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_setdomainname nr 171 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_init_module nr 175 nbargs 3 types: (void *, unsigned long, const char *) args: (umod, len, uargs)
syscall sys_delete_module nr 176 nbargs 2 types: (const char *, unsigned int) args: (name_user, flags)
syscall sys_quotactl nr 179 nbargs 4 types: (unsigned int, const char *, qid_t, void *) args: (cmd, special, id, addr)
syscall sys_gettid nr 186 nbargs 0 types: () args: ()
syscall sys_readahead nr 187 nbargs 3 types: (int, loff_t, size_t) args: (fd, offset, count)
syscall sys_setxattr nr 188 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_lsetxattr nr 189 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_fsetxattr nr 190 nbargs 5 types: (int, const char *, const void *, size_t, int) args: (fd, name, value, size, flags)
syscall sys_getxattr nr 191 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_lgetxattr nr 192 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_fgetxattr nr 193 nbargs 4 types: (int, const char *, void *, size_t) args: (fd, name, value, size)
syscall sys_listxattr nr 194 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_llistxattr nr 195 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_flistxattr nr 196 nbargs 3 types: (int, char *, size_t) args: (fd, list, size)
syscall sys_removexattr nr 197 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_lremovexattr nr 198 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_fremovexattr nr 199 nbargs 2 types: (int, const char *) args: (fd, name)
syscall sys_tkill nr 200 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_time nr 201 nbargs 1 types: (time_t *) args: (tloc)
syscall sys_futex nr 202 nbargs 6 types: (u32 *, int, u32, struct timespec *, u32 *, u32) args: (uaddr, op, val, utime, uaddr2, val3)
syscall sys_sched_setaffinity nr 203 nbargs 3 types: (pid_t, unsigned int, unsigned long *) args: (pid, len, user_mask_ptr)
syscall sys_sched_getaffinity nr 204 nbargs 3 types: (pid_t, unsigned int, unsigned long *) args: (pid, len, user_mask_ptr)
syscall sys_io_setup nr 206 nbargs 2 types: (unsigned, aio_context_t *) args: (nr_events, ctxp)
syscall sys_io_destroy nr 207 nbargs 1 types: (aio_context_t) args: (ctx)
syscall sys_io_getevents nr 208 nbargs 5 types: (aio_context_t, long, long, struct io_event *, struct timespec *) args: (ctx_id, min_nr, nr, events, timeout)
syscall sys_io_submit nr 209 nbargs 3 types: (aio_context_t, long, struct iocb * *) args: (ctx_id, nr, iocbpp)
syscall sys_io_cancel nr 210 nbargs 3 types: (aio_context_t, struct iocb *, struct io_event *) args: (ctx_id, iocb, result)
syscall sys_lookup_dcookie nr 212 nbargs 3 types: (u64, char *, size_t) args: (cookie64, buf, len)
syscall sys_epoll_create nr 213 nbargs 1 types: (int) args: (size)
syscall sys_remap_file_pages nr 216 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (start, size, prot, pgoff, flags)
syscall sys_getdents64 nr 217 nbargs 3 types: (unsigned int, struct linux_dirent64 *, unsigned int) args: (fd, dirent, count)
syscall sys_set_tid_address nr 218 nbargs 1 types: (int *) args: (tidptr)
syscall sys_restart_syscall nr 219 nbargs 0 types: () args: ()
syscall sys_semtimedop nr 220 nbargs 4 types: (int, struct sembuf *, unsigned, const struct timespec *) args: (semid, tsops, nsops, timeout)
syscall sys_fadvise64 nr 221 nbargs 4 types: (int, loff_t, size_t, int) args: (fd, offset, len, advice)
syscall sys_timer_create nr 222 nbargs 3 types: (const clockid_t, struct sigevent *, timer_t *) args: (which_clock, timer_event_spec, created_timer_id)
syscall sys_timer_settime nr 223 nbargs 4 types: (timer_t, int, const struct itimerspec *, struct itimerspec *) args: (timer_id, flags, new_setting, old_setting)
syscall sys_timer_gettime nr 224 nbargs 2 types: (timer_t, struct itimerspec *) args: (timer_id, setting)
syscall sys_timer_getoverrun nr 225 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_timer_delete nr 226 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_clock_settime nr 227 nbargs 2 types: (const clockid_t, const struct timespec *) args: (which_clock, tp)
syscall sys_clock_gettime nr 228 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_getres nr 229 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_nanosleep nr 230 nbargs 4 types: (const clockid_t, int, const struct timespec *, struct timespec *) args: (which_clock, flags, rqtp, rmtp)
syscall sys_exit_group nr 231 nbargs 1 types: (int) args: (error_code)
syscall sys_epoll_wait nr 232 nbargs 4 types: (int, struct epoll_event *, int, int) args: (epfd, events, maxevents, timeout)
syscall sys_epoll_ctl nr 233 nbargs 4 types: (int, int, int, struct epoll_event *) args: (epfd, op, fd, event)
syscall sys_tgkill nr 234 nbargs 3 types: (pid_t, pid_t, int) args: (tgid, pid, sig)
syscall sys_utimes nr 235 nbargs 2 types: (char *, struct timeval *) args: (filename, utimes)
syscall sys_mbind nr 237 nbargs 6 types: (unsigned long, unsigned long, unsigned long, unsigned long *, unsigned long, unsigned) args: (start, len, mode, nmask, maxnode, flags)
syscall sys_set_mempolicy nr 238 nbargs 3 types: (int, unsigned long *, unsigned long) args: (mode, nmask, maxnode)
syscall sys_get_mempolicy nr 239 nbargs 5 types: (int *, unsigned long *, unsigned long, unsigned long, unsigned long) args: (policy, nmask, maxnode, addr, flags)
syscall sys_mq_open nr 240 nbargs 4 types: (const char *, int, umode_t, struct mq_attr *) args: (u_name, oflag, mode, u_attr)
syscall sys_mq_unlink nr 241 nbargs 1 types: (const char *) args: (u_name)
syscall sys_mq_timedsend nr 242 nbargs 5 types: (mqd_t, const char *, size_t, unsigned int, const struct timespec *) args: (mqdes, u_msg_ptr, msg_len, msg_prio, u_abs_timeout)
syscall sys_mq_timedreceive nr 243 nbargs 5 types: (mqd_t, char *, size_t, unsigned int *, const struct timespec *) args: (mqdes, u_msg_ptr, msg_len, u_msg_prio, u_abs_timeout)
syscall sys_mq_notify nr 244 nbargs 2 types: (mqd_t, const struct sigevent *) args: (mqdes, u_notification)
syscall sys_mq_getsetattr nr 245 nbargs 3 types: (mqd_t, const struct mq_attr *, struct mq_attr *) args: (mqdes, u_mqstat, u_omqstat)
syscall sys_kexec_load nr 246 nbargs 4 types: (unsigned long, unsigned long, struct kexec_segment *, unsigned long) args: (entry, nr_segments, segments, flags)
syscall sys_waitid nr 247 nbargs 5 types: (int, pid_t, struct siginfo *, int, struct rusage *) args: (which, upid, infop, options, ru)
syscall sys_add_key nr 248 nbargs 5 types: (const char *, const char *, const void *, size_t, key_serial_t) args: (_type, _description, _payload, plen, ringid)
syscall sys_request_key nr 249 nbargs 4 types: (const char *, const char *, const char *, key_serial_t) args: (_type, _description, _callout_info, destringid)
syscall sys_keyctl nr 250 nbargs 5 types: (int, unsigned long, unsigned long, unsigned long, unsigned long) args: (option, arg2, arg3, arg4, arg5)
syscall sys_ioprio_set nr 251 nbargs 3 types: (int, int, int) args: (which, who, ioprio)
syscall sys_ioprio_get nr 252 nbargs 2 types: (int, int) args: (which, who)
syscall sys_inotify_init nr 253 nbargs 0 types: () args: ()
syscall sys_inotify_add_watch nr 254 nbargs 3 types: (int, const char *, u32) args: (fd, pathname, mask)
syscall sys_inotify_rm_watch nr 255 nbargs 2 types: (int, __s32) args: (fd, wd)
syscall sys_migrate_pages nr 256 nbargs 4 types: (pid_t, unsigned long, const unsigned long *, const unsigned long *) args: (pid, maxnode, old_nodes, new_nodes)
syscall sys_openat nr 257 nbargs 4 types: (int, const char *, int, umode_t) args: (dfd, filename, flags, mode)
syscall sys_mkdirat nr 258 nbargs 3 types: (int, const char *, umode_t) args: (dfd, pathname, mode)
syscall sys_mknodat nr 259 nbargs 4 types: (int, const char *, umode_t, unsigned) args: (dfd, filename, mode, dev)
syscall sys_fchownat nr 260 nbargs 5 types: (int, const char *, uid_t, gid_t, int) args: (dfd, filename, user, group, flag)
syscall sys_futimesat nr 261 nbargs 3 types: (int, const char *, struct timeval *) args: (dfd, filename, utimes)
syscall sys_newfstatat nr 262 nbargs 4 types: (int, const char *, struct stat *, int) args: (dfd, filename, statbuf, flag)
syscall sys_unlinkat nr 263 nbargs 3 types: (int, const char *, int) args: (dfd, pathname, flag)
syscall sys_renameat nr 264 nbargs 4 types: (int, const char *, int, const char *) args: (olddfd, oldname, newdfd, newname)
syscall sys_linkat nr 265 nbargs 5 types: (int, const char *, int, const char *, int) args: (olddfd, oldname, newdfd, newname, flags)
syscall sys_symlinkat nr 266 nbargs 3 types: (const char *, int, const char *) args: (oldname, newdfd, newname)
syscall sys_readlinkat nr 267 nbargs 4 types: (int, const char *, char *, int) args: (dfd, pathname, buf, bufsiz)
syscall sys_fchmodat nr 268 nbargs 3 types: (int, const char *, umode_t) args: (dfd, filename, mode)
syscall sys_faccessat nr 269 nbargs 3 types: (int, const char *, int) args: (dfd, filename, mode)
syscall sys_pselect6 nr 270 nbargs 6 types: (int, fd_set *, fd_set *, fd_set *, struct timespec *, void *) args: (n, inp, outp, exp, tsp, sig)
syscall sys_ppoll nr 271 nbargs 5 types: (struct pollfd *, unsigned int, struct timespec *, const sigset_t *, size_t) args: (ufds, nfds, tsp, sigmask, sigsetsize)
syscall sys_unshare nr 272 nbargs 1 types: (unsigned long) args: (unshare_flags)
syscall sys_set_robust_list nr 273 nbargs 2 types: (struct robust_list_head *, size_t) args: (head, len)
syscall sys_get_robust_list nr 274 nbargs 3 types: (int, struct robust_list_head * *, size_t *) args: (pid, head_ptr, len_ptr)
syscall sys_splice nr 275 nbargs 6 types: (int, loff_t *, int, loff_t *, size_t, unsigned int) args: (fd_in, off_in, fd_out, off_out, len, flags)
syscall sys_tee nr 276 nbargs 4 types: (int, int, size_t, unsigned int) args: (fdin, fdout, len, flags)
syscall sys_sync_file_range nr 277 nbargs 4 types: (int, loff_t, loff_t, unsigned int) args: (fd, offset, nbytes, flags)
syscall sys_vmsplice nr 278 nbargs 4 types: (int, const struct iovec *, unsigned long, unsigned int) args: (fd, iov, nr_segs, flags)
syscall sys_move_pages nr 279 nbargs 6 types: (pid_t, unsigned long, const void * *, const int *, int *, int) args: (pid, nr_pages, pages, nodes, status, flags)
syscall sys_utimensat nr 280 nbargs 4 types: (int, const char *, struct timespec *, int) args: (dfd, filename, utimes, flags)
syscall sys_epoll_pwait nr 281 nbargs 6 types: (int, struct epoll_event *, int, int, const sigset_t *, size_t) args: (epfd, events, maxevents, timeout, sigmask, sigsetsize)
syscall sys_signalfd nr 282 nbargs 3 types: (int, sigset_t *, size_t) args: (ufd, user_mask, sizemask)
syscall sys_timerfd_create nr 283 nbargs 2 types: (int, int) args: (clockid, flags)
syscall sys_eventfd nr 284 nbargs 1 types: (unsigned int) args: (count)
syscall sys_fallocate nr 285 nbargs 4 types: (int, int, loff_t, loff_t) args: (fd, mode, offset, len)
syscall sys_timerfd_settime nr 286 nbargs 4 types: (int, int, const struct itimerspec *, struct itimerspec *) args: (ufd, flags, utmr, otmr)
syscall sys_timerfd_gettime nr 287 nbargs 2 types: (int, struct itimerspec *) args: (ufd, otmr)
syscall sys_accept4 nr 288 nbargs 4 types: (int, struct sockaddr *, int *, int) args: (fd, upeer_sockaddr, upeer_addrlen, flags)
syscall sys_signalfd4 nr 289 nbargs 4 types: (int, sigset_t *, size_t, int) args: (ufd, user_mask, sizemask, flags)
syscall sys_eventfd2 nr 290 nbargs 2 types: (unsigned int, int) args: (count, flags)
syscall sys_epoll_create1 nr 291 nbargs 1 types: (int) args: (flags)
syscall sys_dup3 nr 292 nbargs 3 types: (unsigned int, unsigned int, int) args: (oldfd, newfd, flags)
syscall sys_pipe2 nr 293 nbargs 2 types: (int *, int) args: (fildes, flags)
syscall sys_inotify_init1 nr 294 nbargs 1 types: (int) args: (flags)
syscall sys_preadv nr 295 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_pwritev nr 296 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_rt_tgsigqueueinfo nr 297 nbargs 4 types: (pid_t, pid_t, int, siginfo_t *) args: (tgid, pid, sig, uinfo)
syscall sys_perf_event_open nr 298 nbargs 5 types: (struct perf_event_attr *, pid_t, int, int, unsigned long) args: (attr_uptr, pid, cpu, group_fd, flags)
syscall sys_recvmmsg nr 299 nbargs 5 types: (int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *) args: (fd, mmsg, vlen, flags, timeout)
syscall sys_fanotify_init nr 300 nbargs 2 types: (unsigned int, unsigned int) args: (flags, event_f_flags)
syscall sys_fanotify_mark nr 301 nbargs 5 types: (int, unsigned int, __u64, int, const char *) args: (fanotify_fd, flags, mask, dfd, pathname)
syscall sys_prlimit64 nr 302 nbargs 4 types: (pid_t, unsigned int, const struct rlimit64 *, struct rlimit64 *) args: (pid, resource, new_rlim, old_rlim)
syscall sys_name_to_handle_at nr 303 nbargs 5 types: (int, const char *, struct file_handle *, int *, int) args: (dfd, name, handle, mnt_id, flag)
syscall sys_open_by_handle_at nr 304 nbargs 3 types: (int, struct file_handle *, int) args: (mountdirfd, handle, flags)
syscall sys_clock_adjtime nr 305 nbargs 2 types: (const clockid_t, struct timex *) args: (which_clock, utx)
syscall sys_syncfs nr 306 nbargs 1 types: (int) args: (fd)
syscall sys_sendmmsg nr 307 nbargs 4 types: (int, struct mmsghdr *, unsigned int, unsigned int) args: (fd, mmsg, vlen, flags)
syscall sys_setns nr 308 nbargs 2 types: (int, int) args: (fd, nstype)
syscall sys_getcpu nr 309 nbargs 3 types: (unsigned *, unsigned *, struct getcpu_cache *) args: (cpup, nodep, unused)
syscall sys_process_vm_readv nr 310 nbargs 6 types: (pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long) args: (pid, lvec, liovcnt, rvec, riovcnt, flags)
syscall sys_process_vm_writev nr 311 nbargs 6 types: (pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long) args: (pid, lvec, liovcnt, rvec, riovcnt, flags)
syscall sys_finit_module nr 313 nbargs 3 types: (int, const char *, int) args: (fd, uargs, flags)

View File

@ -0,0 +1,283 @@
syscall sys_exit nr 4001 nbargs 1 types: (int) args: (error_code)
syscall sys_read nr 4003 nbargs 3 types: (unsigned int, char *, size_t) args: (fd, buf, count)
syscall sys_write nr 4004 nbargs 3 types: (unsigned int, const char *, size_t) args: (fd, buf, count)
syscall sys_open nr 4005 nbargs 3 types: (const char *, int, umode_t) args: (filename, flags, mode)
syscall sys_close nr 4006 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_waitpid nr 4007 nbargs 3 types: (pid_t, int *, int) args: (pid, stat_addr, options)
syscall sys_creat nr 4008 nbargs 2 types: (const char *, umode_t) args: (pathname, mode)
syscall sys_link nr 4009 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_unlink nr 4010 nbargs 1 types: (const char *) args: (pathname)
syscall sys_execve nr 4011 nbargs 3 types: (const char *, const char *const *, const char *const *) args: (filename, argv, envp)
syscall sys_chdir nr 4012 nbargs 1 types: (const char *) args: (filename)
syscall sys_time nr 4013 nbargs 1 types: (time_t *) args: (tloc)
syscall sys_mknod nr 4014 nbargs 3 types: (const char *, umode_t, unsigned) args: (filename, mode, dev)
syscall sys_chmod nr 4015 nbargs 2 types: (const char *, umode_t) args: (filename, mode)
syscall sys_lchown nr 4016 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_lseek nr 4019 nbargs 3 types: (unsigned int, off_t, unsigned int) args: (fd, offset, whence)
syscall sys_getpid nr 4020 nbargs 0 types: () args: ()
syscall sys_mount nr 4021 nbargs 5 types: (char *, char *, char *, unsigned long, void *) args: (dev_name, dir_name, type, flags, data)
syscall sys_oldumount nr 4022 nbargs 1 types: (char *) args: (name)
syscall sys_setuid nr 4023 nbargs 1 types: (uid_t) args: (uid)
syscall sys_getuid nr 4024 nbargs 0 types: () args: ()
syscall sys_stime nr 4025 nbargs 1 types: (time_t *) args: (tptr)
syscall sys_ptrace nr 4026 nbargs 4 types: (long, long, unsigned long, unsigned long) args: (request, pid, addr, data)
syscall sys_alarm nr 4027 nbargs 1 types: (unsigned int) args: (seconds)
syscall sys_pause nr 4029 nbargs 0 types: () args: ()
syscall sys_utime nr 4030 nbargs 2 types: (char *, struct utimbuf *) args: (filename, times)
syscall sys_access nr 4033 nbargs 2 types: (const char *, int) args: (filename, mode)
syscall sys_nice nr 4034 nbargs 1 types: (int) args: (increment)
syscall sys_sync nr 4036 nbargs 0 types: () args: ()
syscall sys_kill nr 4037 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_rename nr 4038 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_mkdir nr 4039 nbargs 2 types: (const char *, umode_t) args: (pathname, mode)
syscall sys_rmdir nr 4040 nbargs 1 types: (const char *) args: (pathname)
syscall sys_dup nr 4041 nbargs 1 types: (unsigned int) args: (fildes)
syscall sys_times nr 4043 nbargs 1 types: (struct tms *) args: (tbuf)
syscall sys_brk nr 4045 nbargs 1 types: (unsigned long) args: (brk)
syscall sys_setgid nr 4046 nbargs 1 types: (gid_t) args: (gid)
syscall sys_getgid nr 4047 nbargs 0 types: () args: ()
syscall sys_geteuid nr 4049 nbargs 0 types: () args: ()
syscall sys_getegid nr 4050 nbargs 0 types: () args: ()
syscall sys_umount nr 4052 nbargs 2 types: (char *, int) args: (name, flags)
syscall sys_ioctl nr 4054 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_fcntl nr 4055 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_setpgid nr 4057 nbargs 2 types: (pid_t, pid_t) args: (pid, pgid)
syscall sys_olduname nr 4059 nbargs 1 types: (struct oldold_utsname *) args: (name)
syscall sys_umask nr 4060 nbargs 1 types: (int) args: (mask)
syscall sys_chroot nr 4061 nbargs 1 types: (const char *) args: (filename)
syscall sys_ustat nr 4062 nbargs 2 types: (unsigned, struct ustat *) args: (dev, ubuf)
syscall sys_dup2 nr 4063 nbargs 2 types: (unsigned int, unsigned int) args: (oldfd, newfd)
syscall sys_getppid nr 4064 nbargs 0 types: () args: ()
syscall sys_getpgrp nr 4065 nbargs 0 types: () args: ()
syscall sys_setsid nr 4066 nbargs 0 types: () args: ()
syscall sys_sigaction nr 4067 nbargs 3 types: (int, const struct sigaction *, struct sigaction *) args: (sig, act, oact)
syscall sys_sgetmask nr 4068 nbargs 0 types: () args: ()
syscall sys_ssetmask nr 4069 nbargs 1 types: (int) args: (newmask)
syscall sys_setreuid nr 4070 nbargs 2 types: (uid_t, uid_t) args: (ruid, euid)
syscall sys_setregid nr 4071 nbargs 2 types: (gid_t, gid_t) args: (rgid, egid)
syscall sys_sigsuspend nr 4072 nbargs 1 types: (sigset_t *) args: (uset)
syscall sys_sigpending nr 4073 nbargs 1 types: (old_sigset_t *) args: (set)
syscall sys_sethostname nr 4074 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_setrlimit nr 4075 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_getrlimit nr 4076 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_getrusage nr 4077 nbargs 2 types: (int, struct rusage *) args: (who, ru)
syscall sys_gettimeofday nr 4078 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_settimeofday nr 4079 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_getgroups nr 4080 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_setgroups nr 4081 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_symlink nr 4083 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_readlink nr 4085 nbargs 3 types: (const char *, char *, int) args: (path, buf, bufsiz)
syscall sys_uselib nr 4086 nbargs 1 types: (const char *) args: (library)
syscall sys_reboot nr 4088 nbargs 4 types: (int, int, unsigned int, void *) args: (magic1, magic2, cmd, arg)
syscall sys_old_readdir nr 4089 nbargs 3 types: (unsigned int, struct old_linux_dirent *, unsigned int) args: (fd, dirent, count)
syscall sys_mips_mmap nr 4090 nbargs 6 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, off_t) args: (addr, len, prot, flags, fd, offset)
syscall sys_munmap nr 4091 nbargs 2 types: (unsigned long, size_t) args: (addr, len)
syscall sys_truncate nr 4092 nbargs 2 types: (const char *, long) args: (path, length)
syscall sys_ftruncate nr 4093 nbargs 2 types: (unsigned int, unsigned long) args: (fd, length)
syscall sys_fchmod nr 4094 nbargs 2 types: (unsigned int, umode_t) args: (fd, mode)
syscall sys_fchown nr 4095 nbargs 3 types: (unsigned int, uid_t, gid_t) args: (fd, user, group)
syscall sys_getpriority nr 4096 nbargs 2 types: (int, int) args: (which, who)
syscall sys_setpriority nr 4097 nbargs 3 types: (int, int, int) args: (which, who, niceval)
syscall sys_statfs nr 4099 nbargs 2 types: (const char *, struct statfs *) args: (pathname, buf)
syscall sys_fstatfs nr 4100 nbargs 2 types: (unsigned int, struct statfs *) args: (fd, buf)
syscall sys_socketcall nr 4102 nbargs 2 types: (int, unsigned long *) args: (call, args)
syscall sys_syslog nr 4103 nbargs 3 types: (int, char *, int) args: (type, buf, len)
syscall sys_setitimer nr 4104 nbargs 3 types: (int, struct itimerval *, struct itimerval *) args: (which, value, ovalue)
syscall sys_getitimer nr 4105 nbargs 2 types: (int, struct itimerval *) args: (which, value)
syscall sys_newstat nr 4106 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_newlstat nr 4107 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_newfstat nr 4108 nbargs 2 types: (unsigned int, struct stat *) args: (fd, statbuf)
syscall sys_uname nr 4109 nbargs 1 types: (struct old_utsname *) args: (name)
syscall sys_vhangup nr 4111 nbargs 0 types: () args: ()
syscall sys_wait4 nr 4114 nbargs 4 types: (pid_t, int *, int, struct rusage *) args: (upid, stat_addr, options, ru)
syscall sys_sysinfo nr 4116 nbargs 1 types: (struct sysinfo *) args: (info)
syscall sys_ipc nr 4117 nbargs 6 types: (unsigned int, int, unsigned long, unsigned long, void *, long) args: (call, first, second, third, ptr, fifth)
syscall sys_fsync nr 4118 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_setdomainname nr 4121 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_newuname nr 4122 nbargs 1 types: (struct new_utsname *) args: (name)
syscall sys_adjtimex nr 4124 nbargs 1 types: (struct timex *) args: (txc_p)
syscall sys_mprotect nr 4125 nbargs 3 types: (unsigned long, size_t, unsigned long) args: (start, len, prot)
syscall sys_sigprocmask nr 4126 nbargs 3 types: (int, old_sigset_t *, old_sigset_t *) args: (how, nset, oset)
syscall sys_init_module nr 4128 nbargs 3 types: (void *, unsigned long, const char *) args: (umod, len, uargs)
syscall sys_delete_module nr 4129 nbargs 2 types: (const char *, unsigned int) args: (name_user, flags)
syscall sys_getpgid nr 4132 nbargs 1 types: (pid_t) args: (pid)
syscall sys_fchdir nr 4133 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_bdflush nr 4134 nbargs 2 types: (int, long) args: (func, data)
syscall sys_sysfs nr 4135 nbargs 3 types: (int, unsigned long, unsigned long) args: (option, arg1, arg2)
syscall sys_personality nr 4136 nbargs 1 types: (unsigned int) args: (personality)
syscall sys_setfsuid nr 4138 nbargs 1 types: (uid_t) args: (uid)
syscall sys_setfsgid nr 4139 nbargs 1 types: (gid_t) args: (gid)
syscall sys_llseek nr 4140 nbargs 5 types: (unsigned int, unsigned long, unsigned long, loff_t *, unsigned int) args: (fd, offset_high, offset_low, result, whence)
syscall sys_getdents nr 4141 nbargs 3 types: (unsigned int, struct linux_dirent *, unsigned int) args: (fd, dirent, count)
syscall sys_select nr 4142 nbargs 5 types: (int, fd_set *, fd_set *, fd_set *, struct timeval *) args: (n, inp, outp, exp, tvp)
syscall sys_flock nr 4143 nbargs 2 types: (unsigned int, unsigned int) args: (fd, cmd)
syscall sys_msync nr 4144 nbargs 3 types: (unsigned long, size_t, int) args: (start, len, flags)
syscall sys_readv nr 4145 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_writev nr 4146 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_cacheflush nr 4147 nbargs 3 types: (unsigned long, unsigned long, unsigned int) args: (addr, bytes, cache)
syscall sys_cachectl nr 4148 nbargs 3 types: (char *, int, int) args: (addr, nbytes, op)
syscall sys_sysmips nr 4149 nbargs 3 types: (long, long, long) args: (cmd, arg1, arg2)
syscall sys_getsid nr 4151 nbargs 1 types: (pid_t) args: (pid)
syscall sys_fdatasync nr 4152 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_sysctl nr 4153 nbargs 1 types: (struct __sysctl_args *) args: (args)
syscall sys_mlock nr 4154 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_munlock nr 4155 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_mlockall nr 4156 nbargs 1 types: (int) args: (flags)
syscall sys_munlockall nr 4157 nbargs 0 types: () args: ()
syscall sys_sched_setparam nr 4158 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_getparam nr 4159 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_setscheduler nr 4160 nbargs 3 types: (pid_t, int, struct sched_param *) args: (pid, policy, param)
syscall sys_sched_getscheduler nr 4161 nbargs 1 types: (pid_t) args: (pid)
syscall sys_sched_yield nr 4162 nbargs 0 types: () args: ()
syscall sys_sched_get_priority_max nr 4163 nbargs 1 types: (int) args: (policy)
syscall sys_sched_get_priority_min nr 4164 nbargs 1 types: (int) args: (policy)
syscall sys_sched_rr_get_interval nr 4165 nbargs 2 types: (pid_t, struct timespec *) args: (pid, interval)
syscall sys_nanosleep nr 4166 nbargs 2 types: (struct timespec *, struct timespec *) args: (rqtp, rmtp)
syscall sys_mremap nr 4167 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (addr, old_len, new_len, flags, new_addr)
syscall sys_accept nr 4168 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, upeer_sockaddr, upeer_addrlen)
syscall sys_bind nr 4169 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, umyaddr, addrlen)
syscall sys_connect nr 4170 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, uservaddr, addrlen)
syscall sys_getpeername nr 4171 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_getsockname nr 4172 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_getsockopt nr 4173 nbargs 5 types: (int, int, int, char *, int *) args: (fd, level, optname, optval, optlen)
syscall sys_listen nr 4174 nbargs 2 types: (int, int) args: (fd, backlog)
syscall sys_recvfrom nr 4176 nbargs 6 types: (int, void *, size_t, unsigned int, struct sockaddr *, int *) args: (fd, ubuf, size, flags, addr, addr_len)
syscall sys_recvmsg nr 4177 nbargs 3 types: (int, struct msghdr *, unsigned int) args: (fd, msg, flags)
syscall sys_send nr 4178 nbargs 4 types: (int, void *, size_t, unsigned int) args: (fd, buff, len, flags)
syscall sys_sendmsg nr 4179 nbargs 3 types: (int, struct msghdr *, unsigned int) args: (fd, msg, flags)
syscall sys_sendto nr 4180 nbargs 6 types: (int, void *, size_t, unsigned int, struct sockaddr *, int) args: (fd, buff, len, flags, addr, addr_len)
syscall sys_setsockopt nr 4181 nbargs 5 types: (int, int, int, char *, int) args: (fd, level, optname, optval, optlen)
syscall sys_shutdown nr 4182 nbargs 2 types: (int, int) args: (fd, how)
syscall sys_socket nr 4183 nbargs 3 types: (int, int, int) args: (family, type, protocol)
syscall sys_socketpair nr 4184 nbargs 4 types: (int, int, int, int *) args: (family, type, protocol, usockvec)
syscall sys_setresuid nr 4185 nbargs 3 types: (uid_t, uid_t, uid_t) args: (ruid, euid, suid)
syscall sys_getresuid nr 4186 nbargs 3 types: (uid_t *, uid_t *, uid_t *) args: (ruidp, euidp, suidp)
syscall sys_poll nr 4188 nbargs 3 types: (struct pollfd *, unsigned int, int) args: (ufds, nfds, timeout_msecs)
syscall sys_setresgid nr 4190 nbargs 3 types: (gid_t, gid_t, gid_t) args: (rgid, egid, sgid)
syscall sys_getresgid nr 4191 nbargs 3 types: (gid_t *, gid_t *, gid_t *) args: (rgidp, egidp, sgidp)
syscall sys_prctl nr 4192 nbargs 5 types: (int, unsigned long, unsigned long, unsigned long, unsigned long) args: (option, arg2, arg3, arg4, arg5)
syscall sys_rt_sigaction nr 4194 nbargs 4 types: (int, const struct sigaction *, struct sigaction *, size_t) args: (sig, act, oact, sigsetsize)
syscall sys_rt_sigprocmask nr 4195 nbargs 4 types: (int, sigset_t *, sigset_t *, size_t) args: (how, nset, oset, sigsetsize)
syscall sys_rt_sigpending nr 4196 nbargs 2 types: (sigset_t *, size_t) args: (uset, sigsetsize)
syscall sys_rt_sigtimedwait nr 4197 nbargs 4 types: (const sigset_t *, siginfo_t *, const struct timespec *, size_t) args: (uthese, uinfo, uts, sigsetsize)
syscall sys_rt_sigqueueinfo nr 4198 nbargs 3 types: (pid_t, int, siginfo_t *) args: (pid, sig, uinfo)
syscall sys_rt_sigsuspend nr 4199 nbargs 2 types: (sigset_t *, size_t) args: (unewset, sigsetsize)
syscall sys_pread64 nr 4200 nbargs 4 types: (unsigned int, char *, size_t, loff_t) args: (fd, buf, count, pos)
syscall sys_pwrite64 nr 4201 nbargs 4 types: (unsigned int, const char *, size_t, loff_t) args: (fd, buf, count, pos)
syscall sys_chown nr 4202 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_getcwd nr 4203 nbargs 2 types: (char *, unsigned long) args: (buf, size)
syscall sys_capget nr 4204 nbargs 2 types: (cap_user_header_t, cap_user_data_t) args: (header, dataptr)
syscall sys_capset nr 4205 nbargs 2 types: (cap_user_header_t, const cap_user_data_t) args: (header, data)
syscall sys_sigaltstack nr 4206 nbargs 2 types: (const stack_t *, stack_t *) args: (uss, uoss)
syscall sys_sendfile nr 4207 nbargs 4 types: (int, int, off_t *, size_t) args: (out_fd, in_fd, offset, count)
syscall sys_mips_mmap2 nr 4210 nbargs 6 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (addr, len, prot, flags, fd, pgoff)
syscall sys_truncate64 nr 4211 nbargs 2 types: (const char *, loff_t) args: (path, length)
syscall sys_ftruncate64 nr 4212 nbargs 2 types: (unsigned int, loff_t) args: (fd, length)
syscall sys_stat64 nr 4213 nbargs 2 types: (const char *, struct stat64 *) args: (filename, statbuf)
syscall sys_lstat64 nr 4214 nbargs 2 types: (const char *, struct stat64 *) args: (filename, statbuf)
syscall sys_fstat64 nr 4215 nbargs 2 types: (unsigned long, struct stat64 *) args: (fd, statbuf)
syscall sys_pivot_root nr 4216 nbargs 2 types: (const char *, const char *) args: (new_root, put_old)
syscall sys_mincore nr 4217 nbargs 3 types: (unsigned long, size_t, unsigned char *) args: (start, len, vec)
syscall sys_madvise nr 4218 nbargs 3 types: (unsigned long, size_t, int) args: (start, len_in, behavior)
syscall sys_getdents64 nr 4219 nbargs 3 types: (unsigned int, struct linux_dirent64 *, unsigned int) args: (fd, dirent, count)
syscall sys_fcntl64 nr 4220 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_gettid nr 4222 nbargs 0 types: () args: ()
syscall sys_readahead nr 4223 nbargs 3 types: (int, loff_t, size_t) args: (fd, offset, count)
syscall sys_setxattr nr 4224 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_lsetxattr nr 4225 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_fsetxattr nr 4226 nbargs 5 types: (int, const char *, const void *, size_t, int) args: (fd, name, value, size, flags)
syscall sys_getxattr nr 4227 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_lgetxattr nr 4228 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_fgetxattr nr 4229 nbargs 4 types: (int, const char *, void *, size_t) args: (fd, name, value, size)
syscall sys_listxattr nr 4230 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_llistxattr nr 4231 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_flistxattr nr 4232 nbargs 3 types: (int, char *, size_t) args: (fd, list, size)
syscall sys_removexattr nr 4233 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_lremovexattr nr 4234 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_fremovexattr nr 4235 nbargs 2 types: (int, const char *) args: (fd, name)
syscall sys_tkill nr 4236 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_sendfile64 nr 4237 nbargs 4 types: (int, int, loff_t *, size_t) args: (out_fd, in_fd, offset, count)
syscall sys_futex nr 4238 nbargs 6 types: (u32 *, int, u32, struct timespec *, u32 *, u32) args: (uaddr, op, val, utime, uaddr2, val3)
syscall sys_io_setup nr 4241 nbargs 2 types: (unsigned, aio_context_t *) args: (nr_events, ctxp)
syscall sys_io_destroy nr 4242 nbargs 1 types: (aio_context_t) args: (ctx)
syscall sys_io_getevents nr 4243 nbargs 5 types: (aio_context_t, long, long, struct io_event *, struct timespec *) args: (ctx_id, min_nr, nr, events, timeout)
syscall sys_io_submit nr 4244 nbargs 3 types: (aio_context_t, long, struct iocb * *) args: (ctx_id, nr, iocbpp)
syscall sys_io_cancel nr 4245 nbargs 3 types: (aio_context_t, struct iocb *, struct io_event *) args: (ctx_id, iocb, result)
syscall sys_exit_group nr 4246 nbargs 1 types: (int) args: (error_code)
syscall sys_epoll_create nr 4248 nbargs 1 types: (int) args: (size)
syscall sys_epoll_ctl nr 4249 nbargs 4 types: (int, int, int, struct epoll_event *) args: (epfd, op, fd, event)
syscall sys_epoll_wait nr 4250 nbargs 4 types: (int, struct epoll_event *, int, int) args: (epfd, events, maxevents, timeout)
syscall sys_remap_file_pages nr 4251 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (start, size, prot, pgoff, flags)
syscall sys_set_tid_address nr 4252 nbargs 1 types: (int *) args: (tidptr)
syscall sys_restart_syscall nr 4253 nbargs 0 types: () args: ()
syscall sys_fadvise64_64 nr 4254 nbargs 4 types: (int, loff_t, loff_t, int) args: (fd, offset, len, advice)
syscall sys_statfs64 nr 4255 nbargs 3 types: (const char *, size_t, struct statfs64 *) args: (pathname, sz, buf)
syscall sys_fstatfs64 nr 4256 nbargs 3 types: (unsigned int, size_t, struct statfs64 *) args: (fd, sz, buf)
syscall sys_timer_create nr 4257 nbargs 3 types: (const clockid_t, struct sigevent *, timer_t *) args: (which_clock, timer_event_spec, created_timer_id)
syscall sys_timer_settime nr 4258 nbargs 4 types: (timer_t, int, const struct itimerspec *, struct itimerspec *) args: (timer_id, flags, new_setting, old_setting)
syscall sys_timer_gettime nr 4259 nbargs 2 types: (timer_t, struct itimerspec *) args: (timer_id, setting)
syscall sys_timer_getoverrun nr 4260 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_timer_delete nr 4261 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_clock_settime nr 4262 nbargs 2 types: (const clockid_t, const struct timespec *) args: (which_clock, tp)
syscall sys_clock_gettime nr 4263 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_getres nr 4264 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_nanosleep nr 4265 nbargs 4 types: (const clockid_t, int, const struct timespec *, struct timespec *) args: (which_clock, flags, rqtp, rmtp)
syscall sys_tgkill nr 4266 nbargs 3 types: (pid_t, pid_t, int) args: (tgid, pid, sig)
syscall sys_utimes nr 4267 nbargs 2 types: (char *, struct timeval *) args: (filename, utimes)
syscall sys_waitid nr 4278 nbargs 5 types: (int, pid_t, struct siginfo *, int, struct rusage *) args: (which, upid, infop, options, ru)
syscall sys_set_thread_area nr 4283 nbargs 1 types: (unsigned long) args: (addr)
syscall sys_inotify_init nr 4284 nbargs 0 types: () args: ()
syscall sys_inotify_add_watch nr 4285 nbargs 3 types: (int, const char *, u32) args: (fd, pathname, mask)
syscall sys_inotify_rm_watch nr 4286 nbargs 2 types: (int, __s32) args: (fd, wd)
syscall sys_openat nr 4288 nbargs 4 types: (int, const char *, int, umode_t) args: (dfd, filename, flags, mode)
syscall sys_mkdirat nr 4289 nbargs 3 types: (int, const char *, umode_t) args: (dfd, pathname, mode)
syscall sys_mknodat nr 4290 nbargs 4 types: (int, const char *, umode_t, unsigned) args: (dfd, filename, mode, dev)
syscall sys_fchownat nr 4291 nbargs 5 types: (int, const char *, uid_t, gid_t, int) args: (dfd, filename, user, group, flag)
syscall sys_futimesat nr 4292 nbargs 3 types: (int, const char *, struct timeval *) args: (dfd, filename, utimes)
syscall sys_fstatat64 nr 4293 nbargs 4 types: (int, const char *, struct stat64 *, int) args: (dfd, filename, statbuf, flag)
syscall sys_unlinkat nr 4294 nbargs 3 types: (int, const char *, int) args: (dfd, pathname, flag)
syscall sys_renameat nr 4295 nbargs 4 types: (int, const char *, int, const char *) args: (olddfd, oldname, newdfd, newname)
syscall sys_linkat nr 4296 nbargs 5 types: (int, const char *, int, const char *, int) args: (olddfd, oldname, newdfd, newname, flags)
syscall sys_symlinkat nr 4297 nbargs 3 types: (const char *, int, const char *) args: (oldname, newdfd, newname)
syscall sys_readlinkat nr 4298 nbargs 4 types: (int, const char *, char *, int) args: (dfd, pathname, buf, bufsiz)
syscall sys_fchmodat nr 4299 nbargs 3 types: (int, const char *, umode_t) args: (dfd, filename, mode)
syscall sys_faccessat nr 4300 nbargs 3 types: (int, const char *, int) args: (dfd, filename, mode)
syscall sys_pselect6 nr 4301 nbargs 6 types: (int, fd_set *, fd_set *, fd_set *, struct timespec *, void *) args: (n, inp, outp, exp, tsp, sig)
syscall sys_ppoll nr 4302 nbargs 5 types: (struct pollfd *, unsigned int, struct timespec *, const sigset_t *, size_t) args: (ufds, nfds, tsp, sigmask, sigsetsize)
syscall sys_unshare nr 4303 nbargs 1 types: (unsigned long) args: (unshare_flags)
syscall sys_splice nr 4304 nbargs 6 types: (int, loff_t *, int, loff_t *, size_t, unsigned int) args: (fd_in, off_in, fd_out, off_out, len, flags)
syscall sys_sync_file_range nr 4305 nbargs 4 types: (int, loff_t, loff_t, unsigned int) args: (fd, offset, nbytes, flags)
syscall sys_tee nr 4306 nbargs 4 types: (int, int, size_t, unsigned int) args: (fdin, fdout, len, flags)
syscall sys_vmsplice nr 4307 nbargs 4 types: (int, const struct iovec *, unsigned long, unsigned int) args: (fd, iov, nr_segs, flags)
syscall sys_set_robust_list nr 4309 nbargs 2 types: (struct robust_list_head *, size_t) args: (head, len)
syscall sys_get_robust_list nr 4310 nbargs 3 types: (int, struct robust_list_head * *, size_t *) args: (pid, head_ptr, len_ptr)
syscall sys_getcpu nr 4312 nbargs 3 types: (unsigned *, unsigned *, struct getcpu_cache *) args: (cpup, nodep, unused)
syscall sys_epoll_pwait nr 4313 nbargs 6 types: (int, struct epoll_event *, int, int, const sigset_t *, size_t) args: (epfd, events, maxevents, timeout, sigmask, sigsetsize)
syscall sys_ioprio_set nr 4314 nbargs 3 types: (int, int, int) args: (which, who, ioprio)
syscall sys_ioprio_get nr 4315 nbargs 2 types: (int, int) args: (which, who)
syscall sys_utimensat nr 4316 nbargs 4 types: (int, const char *, struct timespec *, int) args: (dfd, filename, utimes, flags)
syscall sys_signalfd nr 4317 nbargs 3 types: (int, sigset_t *, size_t) args: (ufd, user_mask, sizemask)
syscall sys_eventfd nr 4319 nbargs 1 types: (unsigned int) args: (count)
syscall sys_fallocate nr 4320 nbargs 4 types: (int, int, loff_t, loff_t) args: (fd, mode, offset, len)
syscall sys_timerfd_create nr 4321 nbargs 2 types: (int, int) args: (clockid, flags)
syscall sys_timerfd_gettime nr 4322 nbargs 2 types: (int, struct itimerspec *) args: (ufd, otmr)
syscall sys_timerfd_settime nr 4323 nbargs 4 types: (int, int, const struct itimerspec *, struct itimerspec *) args: (ufd, flags, utmr, otmr)
syscall sys_signalfd4 nr 4324 nbargs 4 types: (int, sigset_t *, size_t, int) args: (ufd, user_mask, sizemask, flags)
syscall sys_eventfd2 nr 4325 nbargs 2 types: (unsigned int, int) args: (count, flags)
syscall sys_epoll_create1 nr 4326 nbargs 1 types: (int) args: (flags)
syscall sys_dup3 nr 4327 nbargs 3 types: (unsigned int, unsigned int, int) args: (oldfd, newfd, flags)
syscall sys_pipe2 nr 4328 nbargs 2 types: (int *, int) args: (fildes, flags)
syscall sys_inotify_init1 nr 4329 nbargs 1 types: (int) args: (flags)
syscall sys_preadv nr 4330 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_pwritev nr 4331 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_rt_tgsigqueueinfo nr 4332 nbargs 4 types: (pid_t, pid_t, int, siginfo_t *) args: (tgid, pid, sig, uinfo)
syscall sys_perf_event_open nr 4333 nbargs 5 types: (struct perf_event_attr *, pid_t, int, int, unsigned long) args: (attr_uptr, pid, cpu, group_fd, flags)
syscall sys_accept4 nr 4334 nbargs 4 types: (int, struct sockaddr *, int *, int) args: (fd, upeer_sockaddr, upeer_addrlen, flags)
syscall sys_recvmmsg nr 4335 nbargs 5 types: (int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *) args: (fd, mmsg, vlen, flags, timeout)
syscall sys_prlimit64 nr 4338 nbargs 4 types: (pid_t, unsigned int, const struct rlimit64 *, struct rlimit64 *) args: (pid, resource, new_rlim, old_rlim)
syscall sys_name_to_handle_at nr 4339 nbargs 5 types: (int, const char *, struct file_handle *, int *, int) args: (dfd, name, handle, mnt_id, flag)
syscall sys_open_by_handle_at nr 4340 nbargs 3 types: (int, struct file_handle *, int) args: (mountdirfd, handle, flags)
syscall sys_clock_adjtime nr 4341 nbargs 2 types: (const clockid_t, struct timex *) args: (which_clock, utx)
syscall sys_syncfs nr 4342 nbargs 1 types: (int) args: (fd)
syscall sys_sendmmsg nr 4343 nbargs 4 types: (int, struct mmsghdr *, unsigned int, unsigned int) args: (fd, mmsg, vlen, flags)
syscall sys_setns nr 4344 nbargs 2 types: (int, int) args: (fd, nstype)

View File

@ -0,0 +1,287 @@
syscall sys_exit nr 4001 nbargs 1 types: (int) args: (error_code)
syscall sys_read nr 4003 nbargs 3 types: (unsigned int, char *, size_t) args: (fd, buf, count)
syscall sys_write nr 4004 nbargs 3 types: (unsigned int, const char *, size_t) args: (fd, buf, count)
syscall sys_open nr 4005 nbargs 3 types: (const char *, int, umode_t) args: (filename, flags, mode)
syscall sys_close nr 4006 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_waitpid nr 4007 nbargs 3 types: (pid_t, int *, int) args: (pid, stat_addr, options)
syscall sys_creat nr 4008 nbargs 2 types: (const char *, umode_t) args: (pathname, mode)
syscall sys_link nr 4009 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_unlink nr 4010 nbargs 1 types: (const char *) args: (pathname)
syscall sys_execve nr 4011 nbargs 3 types: (const char *, const char *const *, const char *const *) args: (filename, argv, envp)
syscall sys_chdir nr 4012 nbargs 1 types: (const char *) args: (filename)
syscall sys_time nr 4013 nbargs 1 types: (time_t *) args: (tloc)
syscall sys_mknod nr 4014 nbargs 3 types: (const char *, umode_t, unsigned) args: (filename, mode, dev)
syscall sys_chmod nr 4015 nbargs 2 types: (const char *, umode_t) args: (filename, mode)
syscall sys_lchown nr 4016 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_lseek nr 4019 nbargs 3 types: (unsigned int, off_t, unsigned int) args: (fd, offset, whence)
syscall sys_getpid nr 4020 nbargs 0 types: () args: ()
syscall sys_mount nr 4021 nbargs 5 types: (char *, char *, char *, unsigned long, void *) args: (dev_name, dir_name, type, flags, data)
syscall sys_oldumount nr 4022 nbargs 1 types: (char *) args: (name)
syscall sys_setuid nr 4023 nbargs 1 types: (uid_t) args: (uid)
syscall sys_getuid nr 4024 nbargs 0 types: () args: ()
syscall sys_stime nr 4025 nbargs 1 types: (time_t *) args: (tptr)
syscall sys_ptrace nr 4026 nbargs 4 types: (long, long, unsigned long, unsigned long) args: (request, pid, addr, data)
syscall sys_alarm nr 4027 nbargs 1 types: (unsigned int) args: (seconds)
syscall sys_pause nr 4029 nbargs 0 types: () args: ()
syscall sys_utime nr 4030 nbargs 2 types: (char *, struct utimbuf *) args: (filename, times)
syscall sys_access nr 4033 nbargs 2 types: (const char *, int) args: (filename, mode)
syscall sys_nice nr 4034 nbargs 1 types: (int) args: (increment)
syscall sys_sync nr 4036 nbargs 0 types: () args: ()
syscall sys_kill nr 4037 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_rename nr 4038 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_mkdir nr 4039 nbargs 2 types: (const char *, umode_t) args: (pathname, mode)
syscall sys_rmdir nr 4040 nbargs 1 types: (const char *) args: (pathname)
syscall sys_dup nr 4041 nbargs 1 types: (unsigned int) args: (fildes)
syscall sys_times nr 4043 nbargs 1 types: (struct tms *) args: (tbuf)
syscall sys_brk nr 4045 nbargs 1 types: (unsigned long) args: (brk)
syscall sys_setgid nr 4046 nbargs 1 types: (gid_t) args: (gid)
syscall sys_getgid nr 4047 nbargs 0 types: () args: ()
syscall sys_geteuid nr 4049 nbargs 0 types: () args: ()
syscall sys_getegid nr 4050 nbargs 0 types: () args: ()
syscall sys_umount nr 4052 nbargs 2 types: (char *, int) args: (name, flags)
syscall sys_ioctl nr 4054 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_fcntl nr 4055 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_setpgid nr 4057 nbargs 2 types: (pid_t, pid_t) args: (pid, pgid)
syscall sys_olduname nr 4059 nbargs 1 types: (struct oldold_utsname *) args: (name)
syscall sys_umask nr 4060 nbargs 1 types: (int) args: (mask)
syscall sys_chroot nr 4061 nbargs 1 types: (const char *) args: (filename)
syscall sys_ustat nr 4062 nbargs 2 types: (unsigned, struct ustat *) args: (dev, ubuf)
syscall sys_dup2 nr 4063 nbargs 2 types: (unsigned int, unsigned int) args: (oldfd, newfd)
syscall sys_getppid nr 4064 nbargs 0 types: () args: ()
syscall sys_getpgrp nr 4065 nbargs 0 types: () args: ()
syscall sys_setsid nr 4066 nbargs 0 types: () args: ()
syscall sys_sigaction nr 4067 nbargs 3 types: (int, const struct sigaction *, struct sigaction *) args: (sig, act, oact)
syscall sys_setreuid nr 4070 nbargs 2 types: (uid_t, uid_t) args: (ruid, euid)
syscall sys_setregid nr 4071 nbargs 2 types: (gid_t, gid_t) args: (rgid, egid)
syscall sys_sigsuspend nr 4072 nbargs 1 types: (sigset_t *) args: (uset)
syscall sys_sigpending nr 4073 nbargs 1 types: (old_sigset_t *) args: (set)
syscall sys_sethostname nr 4074 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_setrlimit nr 4075 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_getrlimit nr 4076 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_getrusage nr 4077 nbargs 2 types: (int, struct rusage *) args: (who, ru)
syscall sys_gettimeofday nr 4078 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_settimeofday nr 4079 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_getgroups nr 4080 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_setgroups nr 4081 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_symlink nr 4083 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_readlink nr 4085 nbargs 3 types: (const char *, char *, int) args: (path, buf, bufsiz)
syscall sys_reboot nr 4088 nbargs 4 types: (int, int, unsigned int, void *) args: (magic1, magic2, cmd, arg)
syscall sys_old_readdir nr 4089 nbargs 3 types: (unsigned int, struct old_linux_dirent *, unsigned int) args: (fd, dirent, count)
syscall sys_mmap nr 4090 nbargs 6 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, off_t) args: (addr, len, prot, flags, fd, offset)
syscall sys_munmap nr 4091 nbargs 2 types: (unsigned long, size_t) args: (addr, len)
syscall sys_truncate nr 4092 nbargs 2 types: (const char *, long) args: (path, length)
syscall sys_ftruncate nr 4093 nbargs 2 types: (unsigned int, unsigned long) args: (fd, length)
syscall sys_fchmod nr 4094 nbargs 2 types: (unsigned int, umode_t) args: (fd, mode)
syscall sys_fchown nr 4095 nbargs 3 types: (unsigned int, uid_t, gid_t) args: (fd, user, group)
syscall sys_getpriority nr 4096 nbargs 2 types: (int, int) args: (which, who)
syscall sys_setpriority nr 4097 nbargs 3 types: (int, int, int) args: (which, who, niceval)
syscall sys_statfs nr 4099 nbargs 2 types: (const char *, struct statfs *) args: (pathname, buf)
syscall sys_fstatfs nr 4100 nbargs 2 types: (unsigned int, struct statfs *) args: (fd, buf)
syscall sys_socketcall nr 4102 nbargs 2 types: (int, unsigned long *) args: (call, args)
syscall sys_syslog nr 4103 nbargs 3 types: (int, char *, int) args: (type, buf, len)
syscall sys_setitimer nr 4104 nbargs 3 types: (int, struct itimerval *, struct itimerval *) args: (which, value, ovalue)
syscall sys_getitimer nr 4105 nbargs 2 types: (int, struct itimerval *) args: (which, value)
syscall sys_newstat nr 4106 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_newlstat nr 4107 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_newfstat nr 4108 nbargs 2 types: (unsigned int, struct stat *) args: (fd, statbuf)
syscall sys_uname nr 4109 nbargs 1 types: (struct old_utsname *) args: (name)
syscall sys_vhangup nr 4111 nbargs 0 types: () args: ()
syscall sys_wait4 nr 4114 nbargs 4 types: (pid_t, int *, int, struct rusage *) args: (upid, stat_addr, options, ru)
syscall sys_sysinfo nr 4116 nbargs 1 types: (struct sysinfo *) args: (info)
syscall sys_ipc nr 4117 nbargs 6 types: (unsigned int, int, unsigned long, unsigned long, void *, long) args: (call, first, second, third, ptr, fifth)
syscall sys_fsync nr 4118 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_setdomainname nr 4121 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_newuname nr 4122 nbargs 1 types: (struct new_utsname *) args: (name)
syscall sys_adjtimex nr 4124 nbargs 1 types: (struct timex *) args: (txc_p)
syscall sys_mprotect nr 4125 nbargs 3 types: (unsigned long, size_t, unsigned long) args: (start, len, prot)
syscall sys_sigprocmask nr 4126 nbargs 3 types: (int, old_sigset_t *, old_sigset_t *) args: (how, nset, oset)
syscall sys_init_module nr 4128 nbargs 3 types: (void *, unsigned long, const char *) args: (umod, len, uargs)
syscall sys_delete_module nr 4129 nbargs 2 types: (const char *, unsigned int) args: (name_user, flags)
syscall sys_getpgid nr 4132 nbargs 1 types: (pid_t) args: (pid)
syscall sys_fchdir nr 4133 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_bdflush nr 4134 nbargs 2 types: (int, long) args: (func, data)
syscall sys_personality nr 4136 nbargs 1 types: (unsigned int) args: (personality)
syscall sys_setfsuid nr 4138 nbargs 1 types: (uid_t) args: (uid)
syscall sys_setfsgid nr 4139 nbargs 1 types: (gid_t) args: (gid)
syscall sys_llseek nr 4140 nbargs 5 types: (unsigned int, unsigned long, unsigned long, loff_t *, unsigned int) args: (fd, offset_high, offset_low, result, whence)
syscall sys_getdents nr 4141 nbargs 3 types: (unsigned int, struct linux_dirent *, unsigned int) args: (fd, dirent, count)
syscall sys_select nr 4142 nbargs 5 types: (int, fd_set *, fd_set *, fd_set *, struct timeval *) args: (n, inp, outp, exp, tvp)
syscall sys_flock nr 4143 nbargs 2 types: (unsigned int, unsigned int) args: (fd, cmd)
syscall sys_msync nr 4144 nbargs 3 types: (unsigned long, size_t, int) args: (start, len, flags)
syscall sys_readv nr 4145 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_writev nr 4146 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_cacheflush nr 4147 nbargs 3 types: (unsigned long, unsigned long, unsigned int) args: (addr, bytes, cache)
syscall sys_cachectl nr 4148 nbargs 3 types: (char *, int, int) args: (addr, nbytes, op)
syscall sys_sysmips nr 4149 nbargs 3 types: (long, long, long) args: (cmd, arg1, arg2)
syscall sys_getsid nr 4151 nbargs 1 types: (pid_t) args: (pid)
syscall sys_fdatasync nr 4152 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_sysctl nr 4153 nbargs 1 types: (struct __sysctl_args *) args: (args)
syscall sys_mlock nr 4154 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_munlock nr 4155 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_mlockall nr 4156 nbargs 1 types: (int) args: (flags)
syscall sys_munlockall nr 4157 nbargs 0 types: () args: ()
syscall sys_sched_setparam nr 4158 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_getparam nr 4159 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_setscheduler nr 4160 nbargs 3 types: (pid_t, int, struct sched_param *) args: (pid, policy, param)
syscall sys_sched_getscheduler nr 4161 nbargs 1 types: (pid_t) args: (pid)
syscall sys_sched_yield nr 4162 nbargs 0 types: () args: ()
syscall sys_sched_get_priority_max nr 4163 nbargs 1 types: (int) args: (policy)
syscall sys_sched_get_priority_min nr 4164 nbargs 1 types: (int) args: (policy)
syscall sys_sched_rr_get_interval nr 4165 nbargs 2 types: (pid_t, struct timespec *) args: (pid, interval)
syscall sys_nanosleep nr 4166 nbargs 2 types: (struct timespec *, struct timespec *) args: (rqtp, rmtp)
syscall sys_mremap nr 4167 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (addr, old_len, new_len, flags, new_addr)
syscall sys_accept nr 4168 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, upeer_sockaddr, upeer_addrlen)
syscall sys_bind nr 4169 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, umyaddr, addrlen)
syscall sys_connect nr 4170 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, uservaddr, addrlen)
syscall sys_getpeername nr 4171 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_getsockname nr 4172 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_getsockopt nr 4173 nbargs 5 types: (int, int, int, char *, int *) args: (fd, level, optname, optval, optlen)
syscall sys_listen nr 4174 nbargs 2 types: (int, int) args: (fd, backlog)
syscall sys_recv nr 4175 nbargs 4 types: (int, void *, size_t, unsigned int) args: (fd, ubuf, size, flags)
syscall sys_recvfrom nr 4176 nbargs 6 types: (int, void *, size_t, unsigned int, struct sockaddr *, int *) args: (fd, ubuf, size, flags, addr, addr_len)
syscall sys_recvmsg nr 4177 nbargs 3 types: (int, struct msghdr *, unsigned int) args: (fd, msg, flags)
syscall sys_send nr 4178 nbargs 4 types: (int, void *, size_t, unsigned int) args: (fd, buff, len, flags)
syscall sys_sendmsg nr 4179 nbargs 3 types: (int, struct msghdr *, unsigned int) args: (fd, msg, flags)
syscall sys_sendto nr 4180 nbargs 6 types: (int, void *, size_t, unsigned int, struct sockaddr *, int) args: (fd, buff, len, flags, addr, addr_len)
syscall sys_setsockopt nr 4181 nbargs 5 types: (int, int, int, char *, int) args: (fd, level, optname, optval, optlen)
syscall sys_shutdown nr 4182 nbargs 2 types: (int, int) args: (fd, how)
syscall sys_socket nr 4183 nbargs 3 types: (int, int, int) args: (family, type, protocol)
syscall sys_socketpair nr 4184 nbargs 4 types: (int, int, int, int *) args: (family, type, protocol, usockvec)
syscall sys_setresuid nr 4185 nbargs 3 types: (uid_t, uid_t, uid_t) args: (ruid, euid, suid)
syscall sys_getresuid nr 4186 nbargs 3 types: (uid_t *, uid_t *, uid_t *) args: (ruidp, euidp, suidp)
syscall sys_poll nr 4188 nbargs 3 types: (struct pollfd *, unsigned int, int) args: (ufds, nfds, timeout_msecs)
syscall sys_setresgid nr 4190 nbargs 3 types: (gid_t, gid_t, gid_t) args: (rgid, egid, sgid)
syscall sys_getresgid nr 4191 nbargs 3 types: (gid_t *, gid_t *, gid_t *) args: (rgidp, egidp, sgidp)
syscall sys_prctl nr 4192 nbargs 5 types: (int, unsigned long, unsigned long, unsigned long, unsigned long) args: (option, arg2, arg3, arg4, arg5)
syscall sys_rt_sigaction nr 4194 nbargs 4 types: (int, const struct sigaction *, struct sigaction *, size_t) args: (sig, act, oact, sigsetsize)
syscall sys_rt_sigprocmask nr 4195 nbargs 4 types: (int, sigset_t *, sigset_t *, size_t) args: (how, nset, oset, sigsetsize)
syscall sys_rt_sigpending nr 4196 nbargs 2 types: (sigset_t *, size_t) args: (uset, sigsetsize)
syscall sys_rt_sigtimedwait nr 4197 nbargs 4 types: (const sigset_t *, siginfo_t *, const struct timespec *, size_t) args: (uthese, uinfo, uts, sigsetsize)
syscall sys_rt_sigqueueinfo nr 4198 nbargs 3 types: (pid_t, int, siginfo_t *) args: (pid, sig, uinfo)
syscall sys_rt_sigsuspend nr 4199 nbargs 2 types: (sigset_t *, size_t) args: (unewset, sigsetsize)
syscall sys_pread64 nr 4200 nbargs 4 types: (unsigned int, char *, size_t, loff_t) args: (fd, buf, count, pos)
syscall sys_pwrite64 nr 4201 nbargs 4 types: (unsigned int, const char *, size_t, loff_t) args: (fd, buf, count, pos)
syscall sys_chown nr 4202 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_getcwd nr 4203 nbargs 2 types: (char *, unsigned long) args: (buf, size)
syscall sys_capget nr 4204 nbargs 2 types: (cap_user_header_t, cap_user_data_t) args: (header, dataptr)
syscall sys_capset nr 4205 nbargs 2 types: (cap_user_header_t, const cap_user_data_t) args: (header, data)
syscall sys_sigaltstack nr 4206 nbargs 2 types: (const stack_t *, stack_t *) args: (uss, uoss)
syscall sys_sendfile nr 4207 nbargs 4 types: (int, int, off_t *, size_t) args: (out_fd, in_fd, offset, count)
syscall sys_mips_mmap2 nr 4210 nbargs 6 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (addr, len, prot, flags, fd, pgoff)
syscall sys_truncate64 nr 4211 nbargs 2 types: (const char *, loff_t) args: (path, length)
syscall sys_ftruncate64 nr 4212 nbargs 2 types: (unsigned int, loff_t) args: (fd, length)
syscall sys_stat64 nr 4213 nbargs 2 types: (const char *, struct stat64 *) args: (filename, statbuf)
syscall sys_lstat64 nr 4214 nbargs 2 types: (const char *, struct stat64 *) args: (filename, statbuf)
syscall sys_fstat64 nr 4215 nbargs 2 types: (unsigned long, struct stat64 *) args: (fd, statbuf)
syscall sys_pivot_root nr 4216 nbargs 2 types: (const char *, const char *) args: (new_root, put_old)
syscall sys_mincore nr 4217 nbargs 3 types: (unsigned long, size_t, unsigned char *) args: (start, len, vec)
syscall sys_madvise nr 4218 nbargs 3 types: (unsigned long, size_t, int) args: (start, len_in, behavior)
syscall sys_getdents64 nr 4219 nbargs 3 types: (unsigned int, struct linux_dirent64 *, unsigned int) args: (fd, dirent, count)
syscall sys_fcntl64 nr 4220 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_gettid nr 4222 nbargs 0 types: () args: ()
syscall sys_readahead nr 4223 nbargs 3 types: (int, loff_t, size_t) args: (fd, offset, count)
syscall sys_setxattr nr 4224 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_lsetxattr nr 4225 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_fsetxattr nr 4226 nbargs 5 types: (int, const char *, const void *, size_t, int) args: (fd, name, value, size, flags)
syscall sys_getxattr nr 4227 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_lgetxattr nr 4228 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_fgetxattr nr 4229 nbargs 4 types: (int, const char *, void *, size_t) args: (fd, name, value, size)
syscall sys_listxattr nr 4230 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_llistxattr nr 4231 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_flistxattr nr 4232 nbargs 3 types: (int, char *, size_t) args: (fd, list, size)
syscall sys_removexattr nr 4233 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_lremovexattr nr 4234 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_fremovexattr nr 4235 nbargs 2 types: (int, const char *) args: (fd, name)
syscall sys_tkill nr 4236 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_sendfile64 nr 4237 nbargs 4 types: (int, int, loff_t *, size_t) args: (out_fd, in_fd, offset, count)
syscall sys_futex nr 4238 nbargs 6 types: (u32 *, int, u32, struct timespec *, u32 *, u32) args: (uaddr, op, val, utime, uaddr2, val3)
syscall sys_io_setup nr 4241 nbargs 2 types: (unsigned, aio_context_t *) args: (nr_events, ctxp)
syscall sys_io_destroy nr 4242 nbargs 1 types: (aio_context_t) args: (ctx)
syscall sys_io_getevents nr 4243 nbargs 5 types: (aio_context_t, long, long, struct io_event *, struct timespec *) args: (ctx_id, min_nr, nr, events, timeout)
syscall sys_io_submit nr 4244 nbargs 3 types: (aio_context_t, long, struct iocb * *) args: (ctx_id, nr, iocbpp)
syscall sys_io_cancel nr 4245 nbargs 3 types: (aio_context_t, struct iocb *, struct io_event *) args: (ctx_id, iocb, result)
syscall sys_exit_group nr 4246 nbargs 1 types: (int) args: (error_code)
syscall sys_epoll_create nr 4248 nbargs 1 types: (int) args: (size)
syscall sys_epoll_ctl nr 4249 nbargs 4 types: (int, int, int, struct epoll_event *) args: (epfd, op, fd, event)
syscall sys_epoll_wait nr 4250 nbargs 4 types: (int, struct epoll_event *, int, int) args: (epfd, events, maxevents, timeout)
syscall sys_remap_file_pages nr 4251 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (start, size, prot, pgoff, flags)
syscall sys_set_tid_address nr 4252 nbargs 1 types: (int *) args: (tidptr)
syscall sys_restart_syscall nr 4253 nbargs 0 types: () args: ()
syscall sys_fadvise64_64 nr 4254 nbargs 4 types: (int, loff_t, loff_t, int) args: (fd, offset, len, advice)
syscall sys_statfs64 nr 4255 nbargs 3 types: (const char *, size_t, struct statfs64 *) args: (pathname, sz, buf)
syscall sys_fstatfs64 nr 4256 nbargs 3 types: (unsigned int, size_t, struct statfs64 *) args: (fd, sz, buf)
syscall sys_timer_create nr 4257 nbargs 3 types: (const clockid_t, struct sigevent *, timer_t *) args: (which_clock, timer_event_spec, created_timer_id)
syscall sys_timer_settime nr 4258 nbargs 4 types: (timer_t, int, const struct itimerspec *, struct itimerspec *) args: (timer_id, flags, new_setting, old_setting)
syscall sys_timer_gettime nr 4259 nbargs 2 types: (timer_t, struct itimerspec *) args: (timer_id, setting)
syscall sys_timer_getoverrun nr 4260 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_timer_delete nr 4261 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_clock_settime nr 4262 nbargs 2 types: (const clockid_t, const struct timespec *) args: (which_clock, tp)
syscall sys_clock_gettime nr 4263 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_getres nr 4264 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_nanosleep nr 4265 nbargs 4 types: (const clockid_t, int, const struct timespec *, struct timespec *) args: (which_clock, flags, rqtp, rmtp)
syscall sys_tgkill nr 4266 nbargs 3 types: (pid_t, pid_t, int) args: (tgid, pid, sig)
syscall sys_utimes nr 4267 nbargs 2 types: (char *, struct timeval *) args: (filename, utimes)
syscall sys_waitid nr 4278 nbargs 5 types: (int, pid_t, struct siginfo *, int, struct rusage *) args: (which, upid, infop, options, ru)
syscall sys_set_thread_area nr 4283 nbargs 1 types: (unsigned long) args: (addr)
syscall sys_inotify_init nr 4284 nbargs 0 types: () args: ()
syscall sys_inotify_add_watch nr 4285 nbargs 3 types: (int, const char *, u32) args: (fd, pathname, mask)
syscall sys_inotify_rm_watch nr 4286 nbargs 2 types: (int, __s32) args: (fd, wd)
syscall sys_openat nr 4288 nbargs 4 types: (int, const char *, int, umode_t) args: (dfd, filename, flags, mode)
syscall sys_mkdirat nr 4289 nbargs 3 types: (int, const char *, umode_t) args: (dfd, pathname, mode)
syscall sys_mknodat nr 4290 nbargs 4 types: (int, const char *, umode_t, unsigned) args: (dfd, filename, mode, dev)
syscall sys_fchownat nr 4291 nbargs 5 types: (int, const char *, uid_t, gid_t, int) args: (dfd, filename, user, group, flag)
syscall sys_futimesat nr 4292 nbargs 3 types: (int, const char *, struct timeval *) args: (dfd, filename, utimes)
syscall sys_fstatat64 nr 4293 nbargs 4 types: (int, const char *, struct stat64 *, int) args: (dfd, filename, statbuf, flag)
syscall sys_unlinkat nr 4294 nbargs 3 types: (int, const char *, int) args: (dfd, pathname, flag)
syscall sys_renameat nr 4295 nbargs 4 types: (int, const char *, int, const char *) args: (olddfd, oldname, newdfd, newname)
syscall sys_linkat nr 4296 nbargs 5 types: (int, const char *, int, const char *, int) args: (olddfd, oldname, newdfd, newname, flags)
syscall sys_symlinkat nr 4297 nbargs 3 types: (const char *, int, const char *) args: (oldname, newdfd, newname)
syscall sys_readlinkat nr 4298 nbargs 4 types: (int, const char *, char *, int) args: (dfd, pathname, buf, bufsiz)
syscall sys_fchmodat nr 4299 nbargs 3 types: (int, const char *, umode_t) args: (dfd, filename, mode)
syscall sys_faccessat nr 4300 nbargs 3 types: (int, const char *, int) args: (dfd, filename, mode)
syscall sys_pselect6 nr 4301 nbargs 6 types: (int, fd_set *, fd_set *, fd_set *, struct timespec *, void *) args: (n, inp, outp, exp, tsp, sig)
syscall sys_ppoll nr 4302 nbargs 5 types: (struct pollfd *, unsigned int, struct timespec *, const sigset_t *, size_t) args: (ufds, nfds, tsp, sigmask, sigsetsize)
syscall sys_unshare nr 4303 nbargs 1 types: (unsigned long) args: (unshare_flags)
syscall sys_splice nr 4304 nbargs 6 types: (int, loff_t *, int, loff_t *, size_t, unsigned int) args: (fd_in, off_in, fd_out, off_out, len, flags)
syscall sys_sync_file_range nr 4305 nbargs 4 types: (int, loff_t, loff_t, unsigned int) args: (fd, offset, nbytes, flags)
syscall sys_tee nr 4306 nbargs 4 types: (int, int, size_t, unsigned int) args: (fdin, fdout, len, flags)
syscall sys_vmsplice nr 4307 nbargs 4 types: (int, const struct iovec *, unsigned long, unsigned int) args: (fd, iov, nr_segs, flags)
syscall sys_set_robust_list nr 4309 nbargs 2 types: (struct robust_list_head *, size_t) args: (head, len)
syscall sys_get_robust_list nr 4310 nbargs 3 types: (int, struct robust_list_head * *, size_t *) args: (pid, head_ptr, len_ptr)
syscall sys_getcpu nr 4312 nbargs 3 types: (unsigned *, unsigned *, struct getcpu_cache *) args: (cpup, nodep, unused)
syscall sys_epoll_pwait nr 4313 nbargs 6 types: (int, struct epoll_event *, int, int, const sigset_t *, size_t) args: (epfd, events, maxevents, timeout, sigmask, sigsetsize)
syscall sys_ioprio_set nr 4314 nbargs 3 types: (int, int, int) args: (which, who, ioprio)
syscall sys_ioprio_get nr 4315 nbargs 2 types: (int, int) args: (which, who)
syscall sys_utimensat nr 4316 nbargs 4 types: (int, const char *, struct timespec *, int) args: (dfd, filename, utimes, flags)
syscall sys_signalfd nr 4317 nbargs 3 types: (int, sigset_t *, size_t) args: (ufd, user_mask, sizemask)
syscall sys_eventfd nr 4319 nbargs 1 types: (unsigned int) args: (count)
syscall sys_fallocate nr 4320 nbargs 4 types: (int, int, loff_t, loff_t) args: (fd, mode, offset, len)
syscall sys_timerfd_create nr 4321 nbargs 2 types: (int, int) args: (clockid, flags)
syscall sys_timerfd_gettime nr 4322 nbargs 2 types: (int, struct itimerspec *) args: (ufd, otmr)
syscall sys_timerfd_settime nr 4323 nbargs 4 types: (int, int, const struct itimerspec *, struct itimerspec *) args: (ufd, flags, utmr, otmr)
syscall sys_signalfd4 nr 4324 nbargs 4 types: (int, sigset_t *, size_t, int) args: (ufd, user_mask, sizemask, flags)
syscall sys_eventfd2 nr 4325 nbargs 2 types: (unsigned int, int) args: (count, flags)
syscall sys_epoll_create1 nr 4326 nbargs 1 types: (int) args: (flags)
syscall sys_dup3 nr 4327 nbargs 3 types: (unsigned int, unsigned int, int) args: (oldfd, newfd, flags)
syscall sys_pipe2 nr 4328 nbargs 2 types: (int *, int) args: (fildes, flags)
syscall sys_inotify_init1 nr 4329 nbargs 1 types: (int) args: (flags)
syscall sys_preadv nr 4330 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_pwritev nr 4331 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_rt_tgsigqueueinfo nr 4332 nbargs 4 types: (pid_t, pid_t, int, siginfo_t *) args: (tgid, pid, sig, uinfo)
syscall sys_perf_event_open nr 4333 nbargs 5 types: (struct perf_event_attr *, pid_t, int, int, unsigned long) args: (attr_uptr, pid, cpu, group_fd, flags)
syscall sys_accept4 nr 4334 nbargs 4 types: (int, struct sockaddr *, int *, int) args: (fd, upeer_sockaddr, upeer_addrlen, flags)
syscall sys_recvmmsg nr 4335 nbargs 5 types: (int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *) args: (fd, mmsg, vlen, flags, timeout)
syscall sys_prlimit64 nr 4338 nbargs 4 types: (pid_t, unsigned int, const struct rlimit64 *, struct rlimit64 *) args: (pid, resource, new_rlim, old_rlim)
syscall sys_name_to_handle_at nr 4339 nbargs 5 types: (int, const char *, struct file_handle *, int *, int) args: (dfd, name, handle, mnt_id, flag)
syscall sys_open_by_handle_at nr 4340 nbargs 3 types: (int, struct file_handle *, int) args: (mountdirfd, handle, flags)
syscall sys_clock_adjtime nr 4341 nbargs 2 types: (const clockid_t, struct timex *) args: (which_clock, utx)
syscall sys_syncfs nr 4342 nbargs 1 types: (int) args: (fd)
syscall sys_sendmmsg nr 4343 nbargs 4 types: (int, struct mmsghdr *, unsigned int, unsigned int) args: (fd, mmsg, vlen, flags)
syscall sys_setns nr 4344 nbargs 2 types: (int, int) args: (fd, nstype)
syscall sys_finit_module nr 4348 nbargs 3 types: (int, const char *, int) args: (fd, uargs, flags)
syscall sys_sched_setattr nr 4349 nbargs 3 types: (pid_t, struct sched_attr *, unsigned int) args: (pid, uattr, flags)
syscall sys_sched_getattr nr 4350 nbargs 4 types: (pid_t, struct sched_attr *, unsigned int, unsigned int) args: (pid, uattr, size, flags)
syscall sys_renameat2 nr 4351 nbargs 5 types: (int, const char *, int, const char *, unsigned int) args: (olddfd, oldname, newdfd, newname, flags)
syscall sys_seccomp nr 4352 nbargs 3 types: (unsigned int, unsigned int, const char *) args: (op, flags, uargs)
syscall sys_getrandom nr 4353 nbargs 3 types: (char *, size_t, unsigned int) args: (buf, count, flags)
syscall sys_memfd_create nr 4354 nbargs 2 types: (const char *, unsigned int) args: (uname, flags)

View File

@ -0,0 +1,299 @@
syscall sys_restart_syscall nr 0 nbargs 0 types: () args: ()
syscall sys_exit nr 1 nbargs 1 types: (int) args: (error_code)
syscall sys_read nr 3 nbargs 3 types: (unsigned int, char *, size_t) args: (fd, buf, count)
syscall sys_write nr 4 nbargs 3 types: (unsigned int, const char *, size_t) args: (fd, buf, count)
syscall sys_open nr 5 nbargs 3 types: (const char *, int, umode_t) args: (filename, flags, mode)
syscall sys_close nr 6 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_creat nr 8 nbargs 2 types: (const char *, umode_t) args: (pathname, mode)
syscall sys_link nr 9 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_unlink nr 10 nbargs 1 types: (const char *) args: (pathname)
syscall sys_chdir nr 12 nbargs 1 types: (const char *) args: (filename)
syscall sys_mknod nr 14 nbargs 3 types: (const char *, umode_t, unsigned) args: (filename, mode, dev)
syscall sys_chmod nr 15 nbargs 2 types: (const char *, umode_t) args: (filename, mode)
syscall sys_lchown16 nr 16 nbargs 3 types: (const char *, old_uid_t, old_gid_t) args: (filename, user, group)
syscall sys_lseek nr 19 nbargs 3 types: (unsigned int, off_t, unsigned int) args: (fd, offset, origin)
syscall sys_getpid nr 20 nbargs 0 types: () args: ()
syscall sys_mount nr 21 nbargs 5 types: (char *, char *, char *, unsigned long, void *) args: (dev_name, dir_name, type, flags, data)
syscall sys_setuid16 nr 23 nbargs 1 types: (old_uid_t) args: (uid)
syscall sys_getuid16 nr 24 nbargs 0 types: () args: ()
syscall sys_ptrace nr 26 nbargs 4 types: (long, long, unsigned long, unsigned long) args: (request, pid, addr, data)
syscall sys_pause nr 29 nbargs 0 types: () args: ()
syscall sys_access nr 33 nbargs 2 types: (const char *, int) args: (filename, mode)
syscall sys_nice nr 34 nbargs 1 types: (int) args: (increment)
syscall sys_sync nr 36 nbargs 0 types: () args: ()
syscall sys_kill nr 37 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_rename nr 38 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_mkdir nr 39 nbargs 2 types: (const char *, umode_t) args: (pathname, mode)
syscall sys_rmdir nr 40 nbargs 1 types: (const char *) args: (pathname)
syscall sys_dup nr 41 nbargs 1 types: (unsigned int) args: (fildes)
syscall sys_pipe nr 42 nbargs 1 types: (int *) args: (fildes)
syscall sys_times nr 43 nbargs 1 types: (struct tms *) args: (tbuf)
syscall sys_brk nr 45 nbargs 1 types: (unsigned long) args: (brk)
syscall sys_setgid16 nr 46 nbargs 1 types: (old_gid_t) args: (gid)
syscall sys_getgid16 nr 47 nbargs 0 types: () args: ()
syscall sys_geteuid16 nr 49 nbargs 0 types: () args: ()
syscall sys_getegid16 nr 50 nbargs 0 types: () args: ()
syscall sys_acct nr 51 nbargs 1 types: (const char *) args: (name)
syscall sys_umount nr 52 nbargs 2 types: (char *, int) args: (name, flags)
syscall sys_ioctl nr 54 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_fcntl nr 55 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_setpgid nr 57 nbargs 2 types: (pid_t, pid_t) args: (pid, pgid)
syscall sys_umask nr 60 nbargs 1 types: (int) args: (mask)
syscall sys_chroot nr 61 nbargs 1 types: (const char *) args: (filename)
syscall sys_ustat nr 62 nbargs 2 types: (unsigned, struct ustat *) args: (dev, ubuf)
syscall sys_dup2 nr 63 nbargs 2 types: (unsigned int, unsigned int) args: (oldfd, newfd)
syscall sys_getppid nr 64 nbargs 0 types: () args: ()
syscall sys_getpgrp nr 65 nbargs 0 types: () args: ()
syscall sys_setsid nr 66 nbargs 0 types: () args: ()
syscall sys_setreuid16 nr 70 nbargs 2 types: (old_uid_t, old_uid_t) args: (ruid, euid)
syscall sys_setregid16 nr 71 nbargs 2 types: (old_gid_t, old_gid_t) args: (rgid, egid)
syscall sys_sigpending nr 73 nbargs 1 types: (old_sigset_t *) args: (set)
syscall sys_sethostname nr 74 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_setrlimit nr 75 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_getrusage nr 77 nbargs 2 types: (int, struct rusage *) args: (who, ru)
syscall sys_gettimeofday nr 78 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_settimeofday nr 79 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_getgroups16 nr 80 nbargs 2 types: (int, old_gid_t *) args: (gidsetsize, grouplist)
syscall sys_setgroups16 nr 81 nbargs 2 types: (int, old_gid_t *) args: (gidsetsize, grouplist)
syscall sys_symlink nr 83 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_readlink nr 85 nbargs 3 types: (const char *, char *, int) args: (path, buf, bufsiz)
syscall sys_uselib nr 86 nbargs 1 types: (const char *) args: (library)
syscall sys_swapon nr 87 nbargs 2 types: (const char *, int) args: (specialfile, swap_flags)
syscall sys_reboot nr 88 nbargs 4 types: (int, int, unsigned int, void *) args: (magic1, magic2, cmd, arg)
syscall sys_munmap nr 91 nbargs 2 types: (unsigned long, size_t) args: (addr, len)
syscall sys_truncate nr 92 nbargs 2 types: (const char *, long) args: (path, length)
syscall sys_ftruncate nr 93 nbargs 2 types: (unsigned int, unsigned long) args: (fd, length)
syscall sys_fchmod nr 94 nbargs 2 types: (unsigned int, umode_t) args: (fd, mode)
syscall sys_fchown16 nr 95 nbargs 3 types: (unsigned int, old_uid_t, old_gid_t) args: (fd, user, group)
syscall sys_getpriority nr 96 nbargs 2 types: (int, int) args: (which, who)
syscall sys_setpriority nr 97 nbargs 3 types: (int, int, int) args: (which, who, niceval)
syscall sys_statfs nr 99 nbargs 2 types: (const char *, struct statfs *) args: (pathname, buf)
syscall sys_fstatfs nr 100 nbargs 2 types: (unsigned int, struct statfs *) args: (fd, buf)
syscall sys_syslog nr 103 nbargs 3 types: (int, char *, int) args: (type, buf, len)
syscall sys_setitimer nr 104 nbargs 3 types: (int, struct itimerval *, struct itimerval *) args: (which, value, ovalue)
syscall sys_getitimer nr 105 nbargs 2 types: (int, struct itimerval *) args: (which, value)
syscall sys_newstat nr 106 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_newlstat nr 107 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_newfstat nr 108 nbargs 2 types: (unsigned int, struct stat *) args: (fd, statbuf)
syscall sys_vhangup nr 111 nbargs 0 types: () args: ()
syscall sys_wait4 nr 114 nbargs 4 types: (pid_t, int *, int, struct rusage *) args: (upid, stat_addr, options, ru)
syscall sys_swapoff nr 115 nbargs 1 types: (const char *) args: (specialfile)
syscall sys_sysinfo nr 116 nbargs 1 types: (struct sysinfo *) args: (info)
syscall sys_fsync nr 118 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_setdomainname nr 121 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_newuname nr 122 nbargs 1 types: (struct new_utsname *) args: (name)
syscall sys_adjtimex nr 124 nbargs 1 types: (struct timex *) args: (txc_p)
syscall sys_mprotect nr 125 nbargs 3 types: (unsigned long, size_t, unsigned long) args: (start, len, prot)
syscall sys_sigprocmask nr 126 nbargs 3 types: (int, old_sigset_t *, old_sigset_t *) args: (how, nset, oset)
syscall sys_init_module nr 128 nbargs 3 types: (void *, unsigned long, const char *) args: (umod, len, uargs)
syscall sys_delete_module nr 129 nbargs 2 types: (const char *, unsigned int) args: (name_user, flags)
syscall sys_quotactl nr 131 nbargs 4 types: (unsigned int, const char *, qid_t, void *) args: (cmd, special, id, addr)
syscall sys_getpgid nr 132 nbargs 1 types: (pid_t) args: (pid)
syscall sys_fchdir nr 133 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_bdflush nr 134 nbargs 2 types: (int, long) args: (func, data)
syscall sys_sysfs nr 135 nbargs 3 types: (int, unsigned long, unsigned long) args: (option, arg1, arg2)
syscall sys_personality nr 136 nbargs 1 types: (unsigned int) args: (personality)
syscall sys_setfsuid16 nr 138 nbargs 1 types: (old_uid_t) args: (uid)
syscall sys_setfsgid16 nr 139 nbargs 1 types: (old_gid_t) args: (gid)
syscall sys_llseek nr 140 nbargs 5 types: (unsigned int, unsigned long, unsigned long, loff_t *, unsigned int) args: (fd, offset_high, offset_low, result, origin)
syscall sys_getdents nr 141 nbargs 3 types: (unsigned int, struct linux_dirent *, unsigned int) args: (fd, dirent, count)
syscall sys_select nr 142 nbargs 5 types: (int, fd_set *, fd_set *, fd_set *, struct timeval *) args: (n, inp, outp, exp, tvp)
syscall sys_flock nr 143 nbargs 2 types: (unsigned int, unsigned int) args: (fd, cmd)
syscall sys_msync nr 144 nbargs 3 types: (unsigned long, size_t, int) args: (start, len, flags)
syscall sys_readv nr 145 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_writev nr 146 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_getsid nr 147 nbargs 1 types: (pid_t) args: (pid)
syscall sys_fdatasync nr 148 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_sysctl nr 149 nbargs 1 types: (struct __sysctl_args *) args: (args)
syscall sys_mlock nr 150 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_munlock nr 151 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_mlockall nr 152 nbargs 1 types: (int) args: (flags)
syscall sys_munlockall nr 153 nbargs 0 types: () args: ()
syscall sys_sched_setparam nr 154 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_getparam nr 155 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_setscheduler nr 156 nbargs 3 types: (pid_t, int, struct sched_param *) args: (pid, policy, param)
syscall sys_sched_getscheduler nr 157 nbargs 1 types: (pid_t) args: (pid)
syscall sys_sched_yield nr 158 nbargs 0 types: () args: ()
syscall sys_sched_get_priority_max nr 159 nbargs 1 types: (int) args: (policy)
syscall sys_sched_get_priority_min nr 160 nbargs 1 types: (int) args: (policy)
syscall sys_sched_rr_get_interval nr 161 nbargs 2 types: (pid_t, struct timespec *) args: (pid, interval)
syscall sys_nanosleep nr 162 nbargs 2 types: (struct timespec *, struct timespec *) args: (rqtp, rmtp)
syscall sys_mremap nr 163 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (addr, old_len, new_len, flags, new_addr)
syscall sys_setresuid16 nr 164 nbargs 3 types: (old_uid_t, old_uid_t, old_uid_t) args: (ruid, euid, suid)
syscall sys_getresuid16 nr 165 nbargs 3 types: (old_uid_t *, old_uid_t *, old_uid_t *) args: (ruid, euid, suid)
syscall sys_poll nr 168 nbargs 3 types: (struct pollfd *, unsigned int, int) args: (ufds, nfds, timeout_msecs)
syscall sys_setresgid16 nr 170 nbargs 3 types: (old_gid_t, old_gid_t, old_gid_t) args: (rgid, egid, sgid)
syscall sys_getresgid16 nr 171 nbargs 3 types: (old_gid_t *, old_gid_t *, old_gid_t *) args: (rgid, egid, sgid)
syscall sys_prctl nr 172 nbargs 5 types: (int, unsigned long, unsigned long, unsigned long, unsigned long) args: (option, arg2, arg3, arg4, arg5)
syscall sys_rt_sigaction nr 174 nbargs 4 types: (int, const struct sigaction *, struct sigaction *, size_t) args: (sig, act, oact, sigsetsize)
syscall sys_rt_sigprocmask nr 175 nbargs 4 types: (int, sigset_t *, sigset_t *, size_t) args: (how, nset, oset, sigsetsize)
syscall sys_rt_sigpending nr 176 nbargs 2 types: (sigset_t *, size_t) args: (set, sigsetsize)
syscall sys_rt_sigtimedwait nr 177 nbargs 4 types: (const sigset_t *, siginfo_t *, const struct timespec *, size_t) args: (uthese, uinfo, uts, sigsetsize)
syscall sys_rt_sigqueueinfo nr 178 nbargs 3 types: (pid_t, int, siginfo_t *) args: (pid, sig, uinfo)
syscall sys_rt_sigsuspend nr 179 nbargs 2 types: (sigset_t *, size_t) args: (unewset, sigsetsize)
syscall sys_chown16 nr 182 nbargs 3 types: (const char *, old_uid_t, old_gid_t) args: (filename, user, group)
syscall sys_getcwd nr 183 nbargs 2 types: (char *, unsigned long) args: (buf, size)
syscall sys_capget nr 184 nbargs 2 types: (cap_user_header_t, cap_user_data_t) args: (header, dataptr)
syscall sys_capset nr 185 nbargs 2 types: (cap_user_header_t, const cap_user_data_t) args: (header, data)
syscall sys_sendfile nr 187 nbargs 4 types: (int, int, off_t *, size_t) args: (out_fd, in_fd, offset, count)
syscall sys_getrlimit nr 191 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_stat64 nr 195 nbargs 2 types: (const char *, struct stat64 *) args: (filename, statbuf)
syscall sys_lstat64 nr 196 nbargs 2 types: (const char *, struct stat64 *) args: (filename, statbuf)
syscall sys_fstat64 nr 197 nbargs 2 types: (unsigned long, struct stat64 *) args: (fd, statbuf)
syscall sys_lchown nr 198 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_getuid nr 199 nbargs 0 types: () args: ()
syscall sys_getgid nr 200 nbargs 0 types: () args: ()
syscall sys_geteuid nr 201 nbargs 0 types: () args: ()
syscall sys_getegid nr 202 nbargs 0 types: () args: ()
syscall sys_setreuid nr 203 nbargs 2 types: (uid_t, uid_t) args: (ruid, euid)
syscall sys_setregid nr 204 nbargs 2 types: (gid_t, gid_t) args: (rgid, egid)
syscall sys_getgroups nr 205 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_setgroups nr 206 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_fchown nr 207 nbargs 3 types: (unsigned int, uid_t, gid_t) args: (fd, user, group)
syscall sys_setresuid nr 208 nbargs 3 types: (uid_t, uid_t, uid_t) args: (ruid, euid, suid)
syscall sys_getresuid nr 209 nbargs 3 types: (uid_t *, uid_t *, uid_t *) args: (ruid, euid, suid)
syscall sys_setresgid nr 210 nbargs 3 types: (gid_t, gid_t, gid_t) args: (rgid, egid, sgid)
syscall sys_getresgid nr 211 nbargs 3 types: (gid_t *, gid_t *, gid_t *) args: (rgid, egid, sgid)
syscall sys_chown nr 212 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_setuid nr 213 nbargs 1 types: (uid_t) args: (uid)
syscall sys_setgid nr 214 nbargs 1 types: (gid_t) args: (gid)
syscall sys_setfsuid nr 215 nbargs 1 types: (uid_t) args: (uid)
syscall sys_setfsgid nr 216 nbargs 1 types: (gid_t) args: (gid)
syscall sys_getdents64 nr 217 nbargs 3 types: (unsigned int, struct linux_dirent64 *, unsigned int) args: (fd, dirent, count)
syscall sys_pivot_root nr 218 nbargs 2 types: (const char *, const char *) args: (new_root, put_old)
syscall sys_mincore nr 219 nbargs 3 types: (unsigned long, size_t, unsigned char *) args: (start, len, vec)
syscall sys_madvise nr 220 nbargs 3 types: (unsigned long, size_t, int) args: (start, len_in, behavior)
syscall sys_fcntl64 nr 221 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_gettid nr 224 nbargs 0 types: () args: ()
syscall sys_setxattr nr 226 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_lsetxattr nr 227 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_fsetxattr nr 228 nbargs 5 types: (int, const char *, const void *, size_t, int) args: (fd, name, value, size, flags)
syscall sys_getxattr nr 229 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_lgetxattr nr 230 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_fgetxattr nr 231 nbargs 4 types: (int, const char *, void *, size_t) args: (fd, name, value, size)
syscall sys_listxattr nr 232 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_llistxattr nr 233 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_flistxattr nr 234 nbargs 3 types: (int, char *, size_t) args: (fd, list, size)
syscall sys_removexattr nr 235 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_lremovexattr nr 236 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_fremovexattr nr 237 nbargs 2 types: (int, const char *) args: (fd, name)
syscall sys_tkill nr 238 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_sendfile64 nr 239 nbargs 4 types: (int, int, loff_t *, size_t) args: (out_fd, in_fd, offset, count)
syscall sys_futex nr 240 nbargs 6 types: (u32 *, int, u32, struct timespec *, u32 *, u32) args: (uaddr, op, val, utime, uaddr2, val3)
syscall sys_sched_setaffinity nr 241 nbargs 3 types: (pid_t, unsigned int, unsigned long *) args: (pid, len, user_mask_ptr)
syscall sys_sched_getaffinity nr 242 nbargs 3 types: (pid_t, unsigned int, unsigned long *) args: (pid, len, user_mask_ptr)
syscall sys_io_setup nr 243 nbargs 2 types: (unsigned, aio_context_t *) args: (nr_events, ctxp)
syscall sys_io_destroy nr 244 nbargs 1 types: (aio_context_t) args: (ctx)
syscall sys_io_getevents nr 245 nbargs 5 types: (aio_context_t, long, long, struct io_event *, struct timespec *) args: (ctx_id, min_nr, nr, events, timeout)
syscall sys_io_submit nr 246 nbargs 3 types: (aio_context_t, long, struct iocb * *) args: (ctx_id, nr, iocbpp)
syscall sys_io_cancel nr 247 nbargs 3 types: (aio_context_t, struct iocb *, struct io_event *) args: (ctx_id, iocb, result)
syscall sys_exit_group nr 248 nbargs 1 types: (int) args: (error_code)
syscall sys_epoll_create nr 250 nbargs 1 types: (int) args: (size)
syscall sys_epoll_ctl nr 251 nbargs 4 types: (int, int, int, struct epoll_event *) args: (epfd, op, fd, event)
syscall sys_epoll_wait nr 252 nbargs 4 types: (int, struct epoll_event *, int, int) args: (epfd, events, maxevents, timeout)
syscall sys_remap_file_pages nr 253 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (start, size, prot, pgoff, flags)
syscall sys_set_tid_address nr 256 nbargs 1 types: (int *) args: (tidptr)
syscall sys_timer_create nr 257 nbargs 3 types: (const clockid_t, struct sigevent *, timer_t *) args: (which_clock, timer_event_spec, created_timer_id)
syscall sys_timer_settime nr 258 nbargs 4 types: (timer_t, int, const struct itimerspec *, struct itimerspec *) args: (timer_id, flags, new_setting, old_setting)
syscall sys_timer_gettime nr 259 nbargs 2 types: (timer_t, struct itimerspec *) args: (timer_id, setting)
syscall sys_timer_getoverrun nr 260 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_timer_delete nr 261 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_clock_settime nr 262 nbargs 2 types: (const clockid_t, const struct timespec *) args: (which_clock, tp)
syscall sys_clock_gettime nr 263 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_getres nr 264 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_nanosleep nr 265 nbargs 4 types: (const clockid_t, int, const struct timespec *, struct timespec *) args: (which_clock, flags, rqtp, rmtp)
syscall sys_tgkill nr 268 nbargs 3 types: (pid_t, pid_t, int) args: (tgid, pid, sig)
syscall sys_utimes nr 269 nbargs 2 types: (char *, struct timeval *) args: (filename, utimes)
syscall sys_mq_open nr 274 nbargs 4 types: (const char *, int, umode_t, struct mq_attr *) args: (u_name, oflag, mode, u_attr)
syscall sys_mq_unlink nr 275 nbargs 1 types: (const char *) args: (u_name)
syscall sys_mq_timedsend nr 276 nbargs 5 types: (mqd_t, const char *, size_t, unsigned int, const struct timespec *) args: (mqdes, u_msg_ptr, msg_len, msg_prio, u_abs_timeout)
syscall sys_mq_timedreceive nr 277 nbargs 5 types: (mqd_t, char *, size_t, unsigned int *, const struct timespec *) args: (mqdes, u_msg_ptr, msg_len, u_msg_prio, u_abs_timeout)
syscall sys_mq_notify nr 278 nbargs 2 types: (mqd_t, const struct sigevent *) args: (mqdes, u_notification)
syscall sys_mq_getsetattr nr 279 nbargs 3 types: (mqd_t, const struct mq_attr *, struct mq_attr *) args: (mqdes, u_mqstat, u_omqstat)
syscall sys_waitid nr 280 nbargs 5 types: (int, pid_t, struct siginfo *, int, struct rusage *) args: (which, upid, infop, options, ru)
syscall sys_socket nr 281 nbargs 3 types: (int, int, int) args: (family, type, protocol)
syscall sys_bind nr 282 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, umyaddr, addrlen)
syscall sys_connect nr 283 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, uservaddr, addrlen)
syscall sys_listen nr 284 nbargs 2 types: (int, int) args: (fd, backlog)
syscall sys_accept nr 285 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, upeer_sockaddr, upeer_addrlen)
syscall sys_getsockname nr 286 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_getpeername nr 287 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_socketpair nr 288 nbargs 4 types: (int, int, int, int *) args: (family, type, protocol, usockvec)
syscall sys_send nr 289 nbargs 4 types: (int, void *, size_t, unsigned) args: (fd, buff, len, flags)
syscall sys_sendto nr 290 nbargs 6 types: (int, void *, size_t, unsigned, struct sockaddr *, int) args: (fd, buff, len, flags, addr, addr_len)
syscall sys_recvfrom nr 292 nbargs 6 types: (int, void *, size_t, unsigned, struct sockaddr *, int *) args: (fd, ubuf, size, flags, addr, addr_len)
syscall sys_shutdown nr 293 nbargs 2 types: (int, int) args: (fd, how)
syscall sys_setsockopt nr 294 nbargs 5 types: (int, int, int, char *, int) args: (fd, level, optname, optval, optlen)
syscall sys_getsockopt nr 295 nbargs 5 types: (int, int, int, char *, int *) args: (fd, level, optname, optval, optlen)
syscall sys_sendmsg nr 296 nbargs 3 types: (int, struct msghdr *, unsigned) args: (fd, msg, flags)
syscall sys_recvmsg nr 297 nbargs 3 types: (int, struct msghdr *, unsigned int) args: (fd, msg, flags)
syscall sys_semop nr 298 nbargs 3 types: (int, struct sembuf *, unsigned) args: (semid, tsops, nsops)
syscall sys_semget nr 299 nbargs 3 types: (key_t, int, int) args: (key, nsems, semflg)
syscall sys_msgsnd nr 301 nbargs 4 types: (int, struct msgbuf *, size_t, int) args: (msqid, msgp, msgsz, msgflg)
syscall sys_msgrcv nr 302 nbargs 5 types: (int, struct msgbuf *, size_t, long, int) args: (msqid, msgp, msgsz, msgtyp, msgflg)
syscall sys_msgget nr 303 nbargs 2 types: (key_t, int) args: (key, msgflg)
syscall sys_msgctl nr 304 nbargs 3 types: (int, int, struct msqid_ds *) args: (msqid, cmd, buf)
syscall sys_shmat nr 305 nbargs 3 types: (int, char *, int) args: (shmid, shmaddr, shmflg)
syscall sys_shmdt nr 306 nbargs 1 types: (char *) args: (shmaddr)
syscall sys_shmget nr 307 nbargs 3 types: (key_t, size_t, int) args: (key, size, shmflg)
syscall sys_shmctl nr 308 nbargs 3 types: (int, int, struct shmid_ds *) args: (shmid, cmd, buf)
syscall sys_add_key nr 309 nbargs 5 types: (const char *, const char *, const void *, size_t, key_serial_t) args: (_type, _description, _payload, plen, ringid)
syscall sys_request_key nr 310 nbargs 4 types: (const char *, const char *, const char *, key_serial_t) args: (_type, _description, _callout_info, destringid)
syscall sys_keyctl nr 311 nbargs 5 types: (int, unsigned long, unsigned long, unsigned long, unsigned long) args: (option, arg2, arg3, arg4, arg5)
syscall sys_semtimedop nr 312 nbargs 4 types: (int, struct sembuf *, unsigned, const struct timespec *) args: (semid, tsops, nsops, timeout)
syscall sys_ioprio_set nr 314 nbargs 3 types: (int, int, int) args: (which, who, ioprio)
syscall sys_ioprio_get nr 315 nbargs 2 types: (int, int) args: (which, who)
syscall sys_inotify_init nr 316 nbargs 0 types: () args: ()
syscall sys_inotify_add_watch nr 317 nbargs 3 types: (int, const char *, u32) args: (fd, pathname, mask)
syscall sys_inotify_rm_watch nr 318 nbargs 2 types: (int, __s32) args: (fd, wd)
syscall sys_openat nr 322 nbargs 4 types: (int, const char *, int, umode_t) args: (dfd, filename, flags, mode)
syscall sys_mkdirat nr 323 nbargs 3 types: (int, const char *, umode_t) args: (dfd, pathname, mode)
syscall sys_mknodat nr 324 nbargs 4 types: (int, const char *, umode_t, unsigned) args: (dfd, filename, mode, dev)
syscall sys_fchownat nr 325 nbargs 5 types: (int, const char *, uid_t, gid_t, int) args: (dfd, filename, user, group, flag)
syscall sys_futimesat nr 326 nbargs 3 types: (int, const char *, struct timeval *) args: (dfd, filename, utimes)
syscall sys_fstatat64 nr 327 nbargs 4 types: (int, const char *, struct stat64 *, int) args: (dfd, filename, statbuf, flag)
syscall sys_unlinkat nr 328 nbargs 3 types: (int, const char *, int) args: (dfd, pathname, flag)
syscall sys_renameat nr 329 nbargs 4 types: (int, const char *, int, const char *) args: (olddfd, oldname, newdfd, newname)
syscall sys_linkat nr 330 nbargs 5 types: (int, const char *, int, const char *, int) args: (olddfd, oldname, newdfd, newname, flags)
syscall sys_symlinkat nr 331 nbargs 3 types: (const char *, int, const char *) args: (oldname, newdfd, newname)
syscall sys_readlinkat nr 332 nbargs 4 types: (int, const char *, char *, int) args: (dfd, pathname, buf, bufsiz)
syscall sys_fchmodat nr 333 nbargs 3 types: (int, const char *, umode_t) args: (dfd, filename, mode)
syscall sys_faccessat nr 334 nbargs 3 types: (int, const char *, int) args: (dfd, filename, mode)
syscall sys_pselect6 nr 335 nbargs 6 types: (int, fd_set *, fd_set *, fd_set *, struct timespec *, void *) args: (n, inp, outp, exp, tsp, sig)
syscall sys_ppoll nr 336 nbargs 5 types: (struct pollfd *, unsigned int, struct timespec *, const sigset_t *, size_t) args: (ufds, nfds, tsp, sigmask, sigsetsize)
syscall sys_unshare nr 337 nbargs 1 types: (unsigned long) args: (unshare_flags)
syscall sys_set_robust_list nr 338 nbargs 2 types: (struct robust_list_head *, size_t) args: (head, len)
syscall sys_get_robust_list nr 339 nbargs 3 types: (int, struct robust_list_head * *, size_t *) args: (pid, head_ptr, len_ptr)
syscall sys_splice nr 340 nbargs 6 types: (int, loff_t *, int, loff_t *, size_t, unsigned int) args: (fd_in, off_in, fd_out, off_out, len, flags)
syscall sys_tee nr 342 nbargs 4 types: (int, int, size_t, unsigned int) args: (fdin, fdout, len, flags)
syscall sys_vmsplice nr 343 nbargs 4 types: (int, const struct iovec *, unsigned long, unsigned int) args: (fd, iov, nr_segs, flags)
syscall sys_getcpu nr 345 nbargs 3 types: (unsigned *, unsigned *, struct getcpu_cache *) args: (cpup, nodep, unused)
syscall sys_epoll_pwait nr 346 nbargs 6 types: (int, struct epoll_event *, int, int, const sigset_t *, size_t) args: (epfd, events, maxevents, timeout, sigmask, sigsetsize)
syscall sys_utimensat nr 348 nbargs 4 types: (int, const char *, struct timespec *, int) args: (dfd, filename, utimes, flags)
syscall sys_signalfd nr 349 nbargs 3 types: (int, sigset_t *, size_t) args: (ufd, user_mask, sizemask)
syscall sys_timerfd_create nr 350 nbargs 2 types: (int, int) args: (clockid, flags)
syscall sys_eventfd nr 351 nbargs 1 types: (unsigned int) args: (count)
syscall sys_timerfd_settime nr 353 nbargs 4 types: (int, int, const struct itimerspec *, struct itimerspec *) args: (ufd, flags, utmr, otmr)
syscall sys_timerfd_gettime nr 354 nbargs 2 types: (int, struct itimerspec *) args: (ufd, otmr)
syscall sys_signalfd4 nr 355 nbargs 4 types: (int, sigset_t *, size_t, int) args: (ufd, user_mask, sizemask, flags)
syscall sys_eventfd2 nr 356 nbargs 2 types: (unsigned int, int) args: (count, flags)
syscall sys_epoll_create1 nr 357 nbargs 1 types: (int) args: (flags)
syscall sys_dup3 nr 358 nbargs 3 types: (unsigned int, unsigned int, int) args: (oldfd, newfd, flags)
syscall sys_pipe2 nr 359 nbargs 2 types: (int *, int) args: (fildes, flags)
syscall sys_inotify_init1 nr 360 nbargs 1 types: (int) args: (flags)
syscall sys_preadv nr 361 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_pwritev nr 362 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_rt_tgsigqueueinfo nr 363 nbargs 4 types: (pid_t, pid_t, int, siginfo_t *) args: (tgid, pid, sig, uinfo)
syscall sys_perf_event_open nr 364 nbargs 5 types: (struct perf_event_attr *, pid_t, int, int, unsigned long) args: (attr_uptr, pid, cpu, group_fd, flags)
syscall sys_recvmmsg nr 365 nbargs 5 types: (int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *) args: (fd, mmsg, vlen, flags, timeout)
syscall sys_accept4 nr 366 nbargs 4 types: (int, struct sockaddr *, int *, int) args: (fd, upeer_sockaddr, upeer_addrlen, flags)
syscall sys_fanotify_init nr 367 nbargs 2 types: (unsigned int, unsigned int) args: (flags, event_f_flags)
syscall sys_prlimit64 nr 369 nbargs 4 types: (pid_t, unsigned int, const struct rlimit64 *, struct rlimit64 *) args: (pid, resource, new_rlim, old_rlim)
syscall sys_name_to_handle_at nr 370 nbargs 5 types: (int, const char *, struct file_handle *, int *, int) args: (dfd, name, handle, mnt_id, flag)
syscall sys_open_by_handle_at nr 371 nbargs 3 types: (int, struct file_handle *, int) args: (mountdirfd, handle, flags)
syscall sys_clock_adjtime nr 372 nbargs 2 types: (const clockid_t, struct timex *) args: (which_clock, utx)
syscall sys_syncfs nr 373 nbargs 1 types: (int) args: (fd)
syscall sys_sendmmsg nr 374 nbargs 4 types: (int, struct mmsghdr *, unsigned int, unsigned int) args: (fd, mmsg, vlen, flags)
syscall sys_setns nr 375 nbargs 2 types: (int, int) args: (fd, nstype)
syscall sys_process_vm_readv nr 376 nbargs 6 types: (pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long) args: (pid, lvec, liovcnt, rvec, riovcnt, flags)
syscall sys_process_vm_writev nr 377 nbargs 6 types: (pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long) args: (pid, lvec, liovcnt, rvec, riovcnt, flags)

View File

@ -0,0 +1,141 @@
syscall sys_exit nr 4003 nbargs 1 types: (int) args: (error_code)
syscall sys_read nr 4007 nbargs 3 types: (unsigned int, char *, size_t) args: (fd, buf, count)
syscall sys_write nr 4009 nbargs 3 types: (unsigned int, const char *, size_t) args: (fd, buf, count)
syscall sys_open nr 4011 nbargs 3 types: (const char *, int, umode_t) args: (filename, flags, mode)
syscall sys_close nr 4013 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_waitpid nr 4015 nbargs 3 types: (pid_t, int *, int) args: (pid, stat_addr, options)
syscall sys_creat nr 4017 nbargs 2 types: (const char *, umode_t) args: (pathname, mode)
syscall sys_link nr 4019 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_unlink nr 4021 nbargs 1 types: (const char *) args: (pathname)
syscall sys_chdir nr 4025 nbargs 1 types: (const char *) args: (filename)
syscall sys_time nr 4027 nbargs 1 types: (time_t *) args: (tloc)
syscall sys_mknod nr 4029 nbargs 3 types: (const char *, umode_t, unsigned) args: (filename, mode, dev)
syscall sys_chmod nr 4031 nbargs 2 types: (const char *, umode_t) args: (filename, mode)
syscall sys_lchown nr 4033 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_lseek nr 4039 nbargs 3 types: (unsigned int, off_t, unsigned int) args: (fd, offset, origin)
syscall sys_getpid nr 4041 nbargs 0 types: () args: ()
syscall sys_mount nr 4043 nbargs 5 types: (char *, char *, char *, unsigned long, void *) args: (dev_name, dir_name, type, flags, data)
syscall sys_oldumount nr 4045 nbargs 1 types: (char *) args: (name)
syscall sys_setuid nr 4047 nbargs 1 types: (uid_t) args: (uid)
syscall sys_getuid nr 4049 nbargs 0 types: () args: ()
syscall sys_stime nr 4051 nbargs 1 types: (time_t *) args: (tptr)
syscall sys_ptrace nr 4053 nbargs 4 types: (long, long, unsigned long, unsigned long) args: (request, pid, addr, data)
syscall sys_alarm nr 4055 nbargs 1 types: (unsigned int) args: (seconds)
syscall sys_pause nr 4059 nbargs 0 types: () args: ()
syscall sys_utime nr 4061 nbargs 2 types: (char *, struct utimbuf *) args: (filename, times)
syscall sys_access nr 4067 nbargs 2 types: (const char *, int) args: (filename, mode)
syscall sys_nice nr 4069 nbargs 1 types: (int) args: (increment)
syscall sys_sync nr 4073 nbargs 0 types: () args: ()
syscall sys_kill nr 4075 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_rename nr 4077 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_mkdir nr 4079 nbargs 2 types: (const char *, umode_t) args: (pathname, mode)
syscall sys_rmdir nr 4081 nbargs 1 types: (const char *) args: (pathname)
syscall sys_dup nr 4083 nbargs 1 types: (unsigned int) args: (fildes)
syscall sys_times nr 4087 nbargs 1 types: (struct tms *) args: (tbuf)
syscall sys_brk nr 4091 nbargs 1 types: (unsigned long) args: (brk)
syscall sys_setgid nr 4093 nbargs 1 types: (gid_t) args: (gid)
syscall sys_getgid nr 4095 nbargs 0 types: () args: ()
syscall sys_geteuid nr 4099 nbargs 0 types: () args: ()
syscall sys_getegid nr 4101 nbargs 0 types: () args: ()
syscall sys_umount nr 4105 nbargs 2 types: (char *, int) args: (name, flags)
syscall sys_ioctl nr 4109 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_fcntl nr 4111 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_setpgid nr 4115 nbargs 2 types: (pid_t, pid_t) args: (pid, pgid)
syscall sys_olduname nr 4119 nbargs 1 types: (struct oldold_utsname *) args: (name)
syscall sys_umask nr 4121 nbargs 1 types: (int) args: (mask)
syscall sys_chroot nr 4123 nbargs 1 types: (const char *) args: (filename)
syscall sys_ustat nr 4125 nbargs 2 types: (unsigned, struct ustat *) args: (dev, ubuf)
syscall sys_dup2 nr 4127 nbargs 2 types: (unsigned int, unsigned int) args: (oldfd, newfd)
syscall sys_getppid nr 4129 nbargs 0 types: () args: ()
syscall sys_getpgrp nr 4131 nbargs 0 types: () args: ()
syscall sys_setsid nr 4133 nbargs 0 types: () args: ()
syscall sys_sigaction nr 4135 nbargs 3 types: (int, const struct sigaction *, struct sigaction *) args: (sig, act, oact)
syscall sys_sgetmask nr 4137 nbargs 0 types: () args: ()
syscall sys_ssetmask nr 4139 nbargs 1 types: (int) args: (newmask)
syscall sys_setreuid nr 4141 nbargs 2 types: (uid_t, uid_t) args: (ruid, euid)
syscall sys_setregid nr 4143 nbargs 2 types: (gid_t, gid_t) args: (rgid, egid)
syscall sys_sigpending nr 4147 nbargs 1 types: (old_sigset_t *) args: (set)
syscall sys_sethostname nr 4149 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_setrlimit nr 4151 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_getrlimit nr 4153 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_getrusage nr 4155 nbargs 2 types: (int, struct rusage *) args: (who, ru)
syscall sys_gettimeofday nr 4157 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_settimeofday nr 4159 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_getgroups nr 4161 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_setgroups nr 4163 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_symlink nr 4167 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_readlink nr 4171 nbargs 3 types: (const char *, char *, int) args: (path, buf, bufsiz)
syscall sys_uselib nr 4173 nbargs 1 types: (const char *) args: (library)
syscall sys_swapon nr 4175 nbargs 2 types: (const char *, int) args: (specialfile, swap_flags)
syscall sys_reboot nr 4177 nbargs 4 types: (int, int, unsigned int, void *) args: (magic1, magic2, cmd, arg)
syscall sys_old_readdir nr 4179 nbargs 3 types: (unsigned int, struct old_linux_dirent *, unsigned int) args: (fd, dirent, count)
syscall sys_mips_mmap nr 4181 nbargs 6 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, off_t) args: (addr, len, prot, flags, fd, offset)
syscall sys_munmap nr 4183 nbargs 2 types: (unsigned long, size_t) args: (addr, len)
syscall sys_truncate nr 4185 nbargs 2 types: (const char *, long) args: (path, length)
syscall sys_ftruncate nr 4187 nbargs 2 types: (unsigned int, unsigned long) args: (fd, length)
syscall sys_fchmod nr 4189 nbargs 2 types: (unsigned int, umode_t) args: (fd, mode)
syscall sys_fchown nr 4191 nbargs 3 types: (unsigned int, uid_t, gid_t) args: (fd, user, group)
syscall sys_getpriority nr 4193 nbargs 2 types: (int, int) args: (which, who)
syscall sys_setpriority nr 4195 nbargs 3 types: (int, int, int) args: (which, who, niceval)
syscall sys_statfs nr 4199 nbargs 2 types: (const char *, struct statfs *) args: (pathname, buf)
syscall sys_fstatfs nr 4201 nbargs 2 types: (unsigned int, struct statfs *) args: (fd, buf)
syscall sys_socketcall nr 4205 nbargs 2 types: (int, unsigned long *) args: (call, args)
syscall sys_syslog nr 4207 nbargs 3 types: (int, char *, int) args: (type, buf, len)
syscall sys_setitimer nr 4209 nbargs 3 types: (int, struct itimerval *, struct itimerval *) args: (which, value, ovalue)
syscall sys_getitimer nr 4211 nbargs 2 types: (int, struct itimerval *) args: (which, value)
syscall sys_newstat nr 4213 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_newlstat nr 4215 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_newfstat nr 4217 nbargs 2 types: (unsigned int, struct stat *) args: (fd, statbuf)
syscall sys_uname nr 4219 nbargs 1 types: (struct old_utsname *) args: (name)
syscall sys_vhangup nr 4223 nbargs 0 types: () args: ()
syscall sys_wait4 nr 4229 nbargs 4 types: (pid_t, int *, int, struct rusage *) args: (upid, stat_addr, options, ru)
syscall sys_swapoff nr 4231 nbargs 1 types: (const char *) args: (specialfile)
syscall sys_sysinfo nr 4233 nbargs 1 types: (struct sysinfo *) args: (info)
syscall sys_ipc nr 4235 nbargs 6 types: (unsigned int, int, unsigned long, unsigned long, void *, long) args: (call, first, second, third, ptr, fifth)
syscall sys_fsync nr 4237 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_setdomainname nr 4243 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_newuname nr 4245 nbargs 1 types: (struct new_utsname *) args: (name)
syscall sys_adjtimex nr 4249 nbargs 1 types: (struct timex *) args: (txc_p)
syscall sys_mprotect nr 4251 nbargs 3 types: (unsigned long, size_t, unsigned long) args: (start, len, prot)
syscall sys_sigprocmask nr 4253 nbargs 3 types: (int, old_sigset_t *, old_sigset_t *) args: (how, nset, oset)
syscall sys_init_module nr 4257 nbargs 3 types: (void *, unsigned long, const char *) args: (umod, len, uargs)
syscall sys_delete_module nr 4259 nbargs 2 types: (const char *, unsigned int) args: (name_user, flags)
syscall sys_quotactl nr 4263 nbargs 4 types: (unsigned int, const char *, qid_t, void *) args: (cmd, special, id, addr)
syscall sys_getpgid nr 4265 nbargs 1 types: (pid_t) args: (pid)
syscall sys_fchdir nr 4267 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_bdflush nr 4269 nbargs 2 types: (int, long) args: (func, data)
syscall sys_sysfs nr 4271 nbargs 3 types: (int, unsigned long, unsigned long) args: (option, arg1, arg2)
syscall sys_personality nr 4273 nbargs 1 types: (unsigned int) args: (personality)
syscall sys_setfsuid nr 4277 nbargs 1 types: (uid_t) args: (uid)
syscall sys_setfsgid nr 4279 nbargs 1 types: (gid_t) args: (gid)
syscall sys_llseek nr 4281 nbargs 5 types: (unsigned int, unsigned long, unsigned long, loff_t *, unsigned int) args: (fd, offset_high, offset_low, result, origin)
syscall sys_getdents nr 4283 nbargs 3 types: (unsigned int, struct linux_dirent *, unsigned int) args: (fd, dirent, count)
syscall sys_select nr 4285 nbargs 5 types: (int, fd_set *, fd_set *, fd_set *, struct timeval *) args: (n, inp, outp, exp, tvp)
syscall sys_flock nr 4287 nbargs 2 types: (unsigned int, unsigned int) args: (fd, cmd)
syscall sys_msync nr 4289 nbargs 3 types: (unsigned long, size_t, int) args: (start, len, flags)
syscall sys_readv nr 4291 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_writev nr 4293 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_cacheflush nr 4295 nbargs 3 types: (unsigned long, unsigned long, unsigned int) args: (addr, bytes, cache)
syscall sys_cachectl nr 4297 nbargs 3 types: (char *, int, int) args: (addr, nbytes, op)
syscall sys_getsid nr 4303 nbargs 1 types: (pid_t) args: (pid)
syscall sys_fdatasync nr 4305 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_sysctl nr 4307 nbargs 1 types: (struct __sysctl_args *) args: (args)
syscall sys_mlock nr 4309 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_munlock nr 4311 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_mlockall nr 4313 nbargs 1 types: (int) args: (flags)
syscall sys_munlockall nr 4315 nbargs 0 types: () args: ()
syscall sys_sched_setparam nr 4317 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_getparam nr 4319 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_setscheduler nr 4321 nbargs 3 types: (pid_t, int, struct sched_param *) args: (pid, policy, param)
syscall sys_sched_getscheduler nr 4323 nbargs 1 types: (pid_t) args: (pid)
syscall sys_sched_yield nr 4325 nbargs 0 types: () args: ()
syscall sys_sched_get_priority_max nr 4327 nbargs 1 types: (int) args: (policy)
syscall sys_sched_get_priority_min nr 4329 nbargs 1 types: (int) args: (policy)
syscall sys_sched_rr_get_interval nr 4331 nbargs 2 types: (pid_t, struct timespec *) args: (pid, interval)
syscall sys_nanosleep nr 4333 nbargs 2 types: (struct timespec *, struct timespec *) args: (rqtp, rmtp)
syscall sys_mremap nr 4335 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (addr, old_len, new_len, flags, new_addr)
syscall sys_accept nr 4337 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, upeer_sockaddr, upeer_addrlen)
syscall sys_bind nr 4339 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, umyaddr, addrlen)
syscall sys_connect nr 4341 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, uservaddr, addrlen)
syscall sys_getpeername nr 4343 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_getsockname nr 4345 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)

View File

@ -0,0 +1,289 @@
syscall sys_waitpid nr 4007 nbargs 3 types: (pid_t, int *, int) args: (pid, stat_addr, options)
syscall sys_oldumount nr 4022 nbargs 1 types: (char *) args: (name)
syscall sys_nice nr 4034 nbargs 1 types: (int) args: (increment)
syscall sys_olduname nr 4059 nbargs 1 types: (struct oldold_utsname *) args: (name)
syscall sys_32_sigaction nr 4067 nbargs 3 types: (long, const struct sigaction32 *, struct sigaction32 *) args: (sig, act, oact)
syscall sys_sgetmask nr 4068 nbargs 0 types: () args: ()
syscall sys_ssetmask nr 4069 nbargs 1 types: (int) args: (newmask)
syscall sys_uselib nr 4086 nbargs 1 types: (const char *) args: (library)
syscall sys_uname nr 4109 nbargs 1 types: (struct old_utsname *) args: (name)
syscall sys_32_ipc nr 4117 nbargs 6 types: (u32, long, long, long, unsigned long, unsigned long) args: (call, first, second, third, ptr, fifth)
syscall sys_bdflush nr 4134 nbargs 2 types: (int, long) args: (func, data)
syscall sys_32_llseek nr 4140 nbargs 5 types: (unsigned int, unsigned int, unsigned int, loff_t *, unsigned int) args: (fd, offset_high, offset_low, result, origin)
syscall sys_send nr 4178 nbargs 4 types: (int, void *, size_t, unsigned int) args: (fd, buff, len, flags)
syscall sys_32_pread nr 4200 nbargs 6 types: (unsigned long, char *, size_t, unsigned long, unsigned long, unsigned long) args: (fd, buf, count, unused, a4, a5)
syscall sys_32_pwrite nr 4201 nbargs 6 types: (unsigned int, const char *, size_t, u32, u64, u64) args: (fd, buf, count, unused, a4, a5)
syscall sys_mips_mmap2 nr 4210 nbargs 6 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (addr, len, prot, flags, fd, pgoff)
syscall sys_32_truncate64 nr 4211 nbargs 4 types: (const char *, unsigned long, unsigned long, unsigned long) args: (path, __dummy, a2, a3)
syscall sys_32_ftruncate64 nr 4212 nbargs 4 types: (unsigned long, unsigned long, unsigned long, unsigned long) args: (fd, __dummy, a2, a3)
syscall sys_32_waitid nr 4278 nbargs 5 types: (int, compat_pid_t, compat_siginfo_t *, int, struct compat_rusage *) args: (which, pid, uinfo, options, uru)
syscall sys_32_fanotify_mark nr 4337 nbargs 6 types: (int, unsigned int, u64, u64, int, const char *) args: (fanotify_fd, flags, a3, a4, dfd, pathname)
syscall sys_rt_sigaction nr 5013 nbargs 4 types: (int, const struct sigaction *, struct sigaction *, size_t) args: (sig, act, oact, sigsetsize)
syscall sys_rt_sigprocmask nr 5014 nbargs 4 types: (int, sigset_t *, sigset_t *, size_t) args: (how, nset, oset, sigsetsize)
syscall sys_ioctl nr 5015 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_readv nr 5018 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_writev nr 5019 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_select nr 5022 nbargs 5 types: (int, fd_set *, fd_set *, fd_set *, struct timeval *) args: (n, inp, outp, exp, tvp)
syscall sys_shmctl nr 5030 nbargs 3 types: (int, int, struct shmid_ds *) args: (shmid, cmd, buf)
syscall sys_nanosleep nr 5034 nbargs 2 types: (struct timespec *, struct timespec *) args: (rqtp, rmtp)
syscall sys_getitimer nr 5035 nbargs 2 types: (int, struct itimerval *) args: (which, value)
syscall sys_setitimer nr 5036 nbargs 3 types: (int, struct itimerval *, struct itimerval *) args: (which, value, ovalue)
syscall sys_recvfrom nr 5044 nbargs 6 types: (int, void *, size_t, unsigned int, struct sockaddr *, int *) args: (fd, ubuf, size, flags, addr, addr_len)
syscall sys_sendmsg nr 5045 nbargs 3 types: (int, struct msghdr *, unsigned int) args: (fd, msg, flags)
syscall sys_recvmsg nr 5046 nbargs 3 types: (int, struct msghdr *, unsigned int) args: (fd, msg, flags)
syscall sys_setsockopt nr 5053 nbargs 5 types: (int, int, int, char *, int) args: (fd, level, optname, optval, optlen)
syscall sys_wait4 nr 5059 nbargs 4 types: (pid_t, int *, int, struct rusage *) args: (upid, stat_addr, options, ru)
syscall sys_msgsnd nr 5067 nbargs 4 types: (int, struct msgbuf *, size_t, int) args: (msqid, msgp, msgsz, msgflg)
syscall sys_msgrcv nr 5068 nbargs 5 types: (int, struct msgbuf *, size_t, long, int) args: (msqid, msgp, msgsz, msgtyp, msgflg)
syscall sys_msgctl nr 5069 nbargs 3 types: (int, int, struct msqid_ds *) args: (msqid, cmd, buf)
syscall sys_fcntl nr 5070 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_getdents nr 5076 nbargs 3 types: (unsigned int, struct linux_dirent *, unsigned int) args: (fd, dirent, count)
syscall sys_gettimeofday nr 5094 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_getrlimit nr 5095 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_getrusage nr 5096 nbargs 2 types: (int, struct rusage *) args: (who, ru)
syscall sys_sysinfo nr 5097 nbargs 1 types: (struct sysinfo *) args: (info)
syscall sys_times nr 5098 nbargs 1 types: (struct tms *) args: (tbuf)
syscall sys_ptrace nr 5099 nbargs 4 types: (long, long, unsigned long, unsigned long) args: (request, pid, addr, data)
syscall sys_rt_sigpending nr 5125 nbargs 2 types: (sigset_t *, size_t) args: (set, sigsetsize)
syscall sys_rt_sigtimedwait nr 5126 nbargs 4 types: (const sigset_t *, siginfo_t *, const struct timespec *, size_t) args: (uthese, uinfo, uts, sigsetsize)
syscall sys_rt_sigqueueinfo nr 5127 nbargs 3 types: (pid_t, int, siginfo_t *) args: (pid, sig, uinfo)
syscall sys_utime nr 5130 nbargs 2 types: (char *, struct utimbuf *) args: (filename, times)
syscall sys_personality nr 5132 nbargs 1 types: (unsigned int) args: (personality)
syscall sys_ustat nr 5133 nbargs 2 types: (unsigned, struct ustat *) args: (dev, ubuf)
syscall sys_statfs nr 5134 nbargs 2 types: (const char *, struct statfs *) args: (pathname, buf)
syscall sys_fstatfs nr 5135 nbargs 2 types: (unsigned int, struct statfs *) args: (fd, buf)
syscall sys_sched_rr_get_interval nr 5145 nbargs 2 types: (pid_t, struct timespec *) args: (pid, interval)
syscall sys_sysctl nr 5152 nbargs 1 types: (struct __sysctl_args *) args: (args)
syscall sys_adjtimex nr 5154 nbargs 1 types: (struct timex *) args: (txc_p)
syscall sys_setrlimit nr 5155 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_settimeofday nr 5159 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_mount nr 5160 nbargs 5 types: (char *, char *, char *, unsigned long, void *) args: (dev_name, dir_name, type, flags, data)
syscall sys_futex nr 5194 nbargs 6 types: (u32 *, int, u32, struct timespec *, u32 *, u32) args: (uaddr, op, val, utime, uaddr2, val3)
syscall sys_sched_setaffinity nr 5195 nbargs 3 types: (pid_t, unsigned int, unsigned long *) args: (pid, len, user_mask_ptr)
syscall sys_sched_getaffinity nr 5196 nbargs 3 types: (pid_t, unsigned int, unsigned long *) args: (pid, len, user_mask_ptr)
syscall sys_io_setup nr 5200 nbargs 2 types: (unsigned, aio_context_t *) args: (nr_events, ctxp)
syscall sys_io_getevents nr 5202 nbargs 5 types: (aio_context_t, long, long, struct io_event *, struct timespec *) args: (ctx_id, min_nr, nr, events, timeout)
syscall sys_io_submit nr 5203 nbargs 3 types: (aio_context_t, long, struct iocb * *) args: (ctx_id, nr, iocbpp)
syscall sys_semtimedop nr 5214 nbargs 4 types: (int, struct sembuf *, unsigned, const struct timespec *) args: (semid, tsops, nsops, timeout)
syscall sys_timer_create nr 5216 nbargs 3 types: (const clockid_t, struct sigevent *, timer_t *) args: (which_clock, timer_event_spec, created_timer_id)
syscall sys_timer_settime nr 5217 nbargs 4 types: (timer_t, int, const struct itimerspec *, struct itimerspec *) args: (timer_id, flags, new_setting, old_setting)
syscall sys_timer_gettime nr 5218 nbargs 2 types: (timer_t, struct itimerspec *) args: (timer_id, setting)
syscall sys_clock_settime nr 5221 nbargs 2 types: (const clockid_t, const struct timespec *) args: (which_clock, tp)
syscall sys_clock_gettime nr 5222 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_getres nr 5223 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_nanosleep nr 5224 nbargs 4 types: (const clockid_t, int, const struct timespec *, struct timespec *) args: (which_clock, flags, rqtp, rmtp)
syscall sys_utimes nr 5226 nbargs 2 types: (char *, struct timeval *) args: (filename, utimes)
syscall sys_waitid nr 5237 nbargs 5 types: (int, pid_t, struct siginfo *, int, struct rusage *) args: (which, upid, infop, options, ru)
syscall sys_futimesat nr 5251 nbargs 3 types: (int, const char *, struct timeval *) args: (dfd, filename, utimes)
syscall sys_pselect6 nr 5260 nbargs 6 types: (int, fd_set *, fd_set *, fd_set *, struct timespec *, void *) args: (n, inp, outp, exp, tsp, sig)
syscall sys_ppoll nr 5261 nbargs 5 types: (struct pollfd *, unsigned int, struct timespec *, const sigset_t *, size_t) args: (ufds, nfds, tsp, sigmask, sigsetsize)
syscall sys_vmsplice nr 5266 nbargs 4 types: (int, const struct iovec *, unsigned long, unsigned int) args: (fd, iov, nr_segs, flags)
syscall sys_set_robust_list nr 5268 nbargs 2 types: (struct robust_list_head *, size_t) args: (head, len)
syscall sys_get_robust_list nr 5269 nbargs 3 types: (int, struct robust_list_head * *, size_t *) args: (pid, head_ptr, len_ptr)
syscall sys_epoll_pwait nr 5272 nbargs 6 types: (int, struct epoll_event *, int, int, const sigset_t *, size_t) args: (epfd, events, maxevents, timeout, sigmask, sigsetsize)
syscall sys_utimensat nr 5275 nbargs 4 types: (int, const char *, struct timespec *, int) args: (dfd, filename, utimes, flags)
syscall sys_signalfd nr 5276 nbargs 3 types: (int, sigset_t *, size_t) args: (ufd, user_mask, sizemask)
syscall sys_timerfd_gettime nr 5281 nbargs 2 types: (int, struct itimerspec *) args: (ufd, otmr)
syscall sys_timerfd_settime nr 5282 nbargs 4 types: (int, int, const struct itimerspec *, struct itimerspec *) args: (ufd, flags, utmr, otmr)
syscall sys_rt_tgsigqueueinfo nr 5291 nbargs 4 types: (pid_t, pid_t, int, siginfo_t *) args: (tgid, pid, sig, uinfo)
syscall sys_recvmmsg nr 5294 nbargs 5 types: (int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *) args: (fd, mmsg, vlen, flags, timeout)
syscall sys_clock_adjtime nr 5300 nbargs 2 types: (const clockid_t, struct timex *) args: (which_clock, utx)
syscall sys_sendmmsg nr 5302 nbargs 4 types: (int, struct mmsghdr *, unsigned int, unsigned int) args: (fd, mmsg, vlen, flags)
syscall sys_process_vm_readv nr 5304 nbargs 6 types: (pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long) args: (pid, lvec, liovcnt, rvec, riovcnt, flags)
syscall sys_process_vm_writev nr 5305 nbargs 6 types: (pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long) args: (pid, lvec, liovcnt, rvec, riovcnt, flags)
syscall sys_read nr 6000 nbargs 3 types: (unsigned int, char *, size_t) args: (fd, buf, count)
syscall sys_write nr 6001 nbargs 3 types: (unsigned int, const char *, size_t) args: (fd, buf, count)
syscall sys_open nr 6002 nbargs 3 types: (const char *, int, umode_t) args: (filename, flags, mode)
syscall sys_close nr 6003 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_newstat nr 6004 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_newfstat nr 6005 nbargs 2 types: (unsigned int, struct stat *) args: (fd, statbuf)
syscall sys_newlstat nr 6006 nbargs 2 types: (const char *, struct stat *) args: (filename, statbuf)
syscall sys_poll nr 6007 nbargs 3 types: (struct pollfd *, unsigned int, int) args: (ufds, nfds, timeout_msecs)
syscall sys_lseek nr 6008 nbargs 3 types: (unsigned int, off_t, unsigned int) args: (fd, offset, origin)
syscall sys_mips_mmap nr 6009 nbargs 6 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, off_t) args: (addr, len, prot, flags, fd, offset)
syscall sys_mprotect nr 6010 nbargs 3 types: (unsigned long, size_t, unsigned long) args: (start, len, prot)
syscall sys_munmap nr 6011 nbargs 2 types: (unsigned long, size_t) args: (addr, len)
syscall sys_brk nr 6012 nbargs 1 types: (unsigned long) args: (brk)
syscall sys_32_rt_sigaction nr 6013 nbargs 4 types: (int, const struct sigaction32 *, struct sigaction32 *, unsigned int) args: (sig, act, oact, sigsetsize)
syscall sys_32_rt_sigprocmask nr 6014 nbargs 4 types: (int, compat_sigset_t *, compat_sigset_t *, unsigned int) args: (how, set, oset, sigsetsize)
syscall sys_access nr 6020 nbargs 2 types: (const char *, int) args: (filename, mode)
syscall sys_sched_yield nr 6023 nbargs 0 types: () args: ()
syscall sys_mremap nr 6024 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (addr, old_len, new_len, flags, new_addr)
syscall sys_msync nr 6025 nbargs 3 types: (unsigned long, size_t, int) args: (start, len, flags)
syscall sys_mincore nr 6026 nbargs 3 types: (unsigned long, size_t, unsigned char *) args: (start, len, vec)
syscall sys_madvise nr 6027 nbargs 3 types: (unsigned long, size_t, int) args: (start, len_in, behavior)
syscall sys_shmget nr 6028 nbargs 3 types: (key_t, size_t, int) args: (key, size, shmflg)
syscall sys_shmat nr 6029 nbargs 3 types: (int, char *, int) args: (shmid, shmaddr, shmflg)
syscall sys_dup nr 6031 nbargs 1 types: (unsigned int) args: (fildes)
syscall sys_dup2 nr 6032 nbargs 2 types: (unsigned int, unsigned int) args: (oldfd, newfd)
syscall sys_pause nr 6033 nbargs 0 types: () args: ()
syscall sys_alarm nr 6037 nbargs 1 types: (unsigned int) args: (seconds)
syscall sys_getpid nr 6038 nbargs 0 types: () args: ()
syscall sys_32_sendfile nr 6039 nbargs 4 types: (long, long, compat_off_t *, s32) args: (out_fd, in_fd, offset, count)
syscall sys_socket nr 6040 nbargs 3 types: (int, int, int) args: (family, type, protocol)
syscall sys_connect nr 6041 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, uservaddr, addrlen)
syscall sys_accept nr 6042 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, upeer_sockaddr, upeer_addrlen)
syscall sys_sendto nr 6043 nbargs 6 types: (int, void *, size_t, unsigned int, struct sockaddr *, int) args: (fd, buff, len, flags, addr, addr_len)
syscall sys_shutdown nr 6047 nbargs 2 types: (int, int) args: (fd, how)
syscall sys_bind nr 6048 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, umyaddr, addrlen)
syscall sys_listen nr 6049 nbargs 2 types: (int, int) args: (fd, backlog)
syscall sys_getsockname nr 6050 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_getpeername nr 6051 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_socketpair nr 6052 nbargs 4 types: (int, int, int, int *) args: (family, type, protocol, usockvec)
syscall sys_getsockopt nr 6054 nbargs 5 types: (int, int, int, char *, int *) args: (fd, level, optname, optval, optlen)
syscall sys_exit nr 6058 nbargs 1 types: (int) args: (error_code)
syscall sys_kill nr 6060 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_newuname nr 6061 nbargs 1 types: (struct new_utsname *) args: (name)
syscall sys_semget nr 6062 nbargs 3 types: (key_t, int, int) args: (key, nsems, semflg)
syscall sys_semop nr 6063 nbargs 3 types: (int, struct sembuf *, unsigned) args: (semid, tsops, nsops)
syscall sys_n32_semctl nr 6064 nbargs 4 types: (int, int, int, u32) args: (semid, semnum, cmd, arg)
syscall sys_shmdt nr 6065 nbargs 1 types: (char *) args: (shmaddr)
syscall sys_msgget nr 6066 nbargs 2 types: (key_t, int) args: (key, msgflg)
syscall sys_n32_msgsnd nr 6067 nbargs 4 types: (int, u32, unsigned int, int) args: (msqid, msgp, msgsz, msgflg)
syscall sys_n32_msgrcv nr 6068 nbargs 5 types: (int, u32, size_t, int, int) args: (msqid, msgp, msgsz, msgtyp, msgflg)
syscall sys_flock nr 6071 nbargs 2 types: (unsigned int, unsigned int) args: (fd, cmd)
syscall sys_fsync nr 6072 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_fdatasync nr 6073 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_truncate nr 6074 nbargs 2 types: (const char *, long) args: (path, length)
syscall sys_ftruncate nr 6075 nbargs 2 types: (unsigned int, unsigned long) args: (fd, length)
syscall sys_getcwd nr 6077 nbargs 2 types: (char *, unsigned long) args: (buf, size)
syscall sys_chdir nr 6078 nbargs 1 types: (const char *) args: (filename)
syscall sys_fchdir nr 6079 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_rename nr 6080 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_mkdir nr 6081 nbargs 2 types: (const char *, umode_t) args: (pathname, mode)
syscall sys_rmdir nr 6082 nbargs 1 types: (const char *) args: (pathname)
syscall sys_creat nr 6083 nbargs 2 types: (const char *, umode_t) args: (pathname, mode)
syscall sys_link nr 6084 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_unlink nr 6085 nbargs 1 types: (const char *) args: (pathname)
syscall sys_symlink nr 6086 nbargs 2 types: (const char *, const char *) args: (oldname, newname)
syscall sys_readlink nr 6087 nbargs 3 types: (const char *, char *, int) args: (path, buf, bufsiz)
syscall sys_chmod nr 6088 nbargs 2 types: (const char *, umode_t) args: (filename, mode)
syscall sys_fchmod nr 6089 nbargs 2 types: (unsigned int, umode_t) args: (fd, mode)
syscall sys_chown nr 6090 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_fchown nr 6091 nbargs 3 types: (unsigned int, uid_t, gid_t) args: (fd, user, group)
syscall sys_lchown nr 6092 nbargs 3 types: (const char *, uid_t, gid_t) args: (filename, user, group)
syscall sys_umask nr 6093 nbargs 1 types: (int) args: (mask)
syscall sys_getuid nr 6100 nbargs 0 types: () args: ()
syscall sys_syslog nr 6101 nbargs 3 types: (int, char *, int) args: (type, buf, len)
syscall sys_getgid nr 6102 nbargs 0 types: () args: ()
syscall sys_setuid nr 6103 nbargs 1 types: (uid_t) args: (uid)
syscall sys_setgid nr 6104 nbargs 1 types: (gid_t) args: (gid)
syscall sys_geteuid nr 6105 nbargs 0 types: () args: ()
syscall sys_getegid nr 6106 nbargs 0 types: () args: ()
syscall sys_setpgid nr 6107 nbargs 2 types: (pid_t, pid_t) args: (pid, pgid)
syscall sys_getppid nr 6108 nbargs 0 types: () args: ()
syscall sys_getpgrp nr 6109 nbargs 0 types: () args: ()
syscall sys_setsid nr 6110 nbargs 0 types: () args: ()
syscall sys_setreuid nr 6111 nbargs 2 types: (uid_t, uid_t) args: (ruid, euid)
syscall sys_setregid nr 6112 nbargs 2 types: (gid_t, gid_t) args: (rgid, egid)
syscall sys_getgroups nr 6113 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_setgroups nr 6114 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_setresuid nr 6115 nbargs 3 types: (uid_t, uid_t, uid_t) args: (ruid, euid, suid)
syscall sys_getresuid nr 6116 nbargs 3 types: (uid_t *, uid_t *, uid_t *) args: (ruidp, euidp, suidp)
syscall sys_setresgid nr 6117 nbargs 3 types: (gid_t, gid_t, gid_t) args: (rgid, egid, sgid)
syscall sys_getresgid nr 6118 nbargs 3 types: (gid_t *, gid_t *, gid_t *) args: (rgidp, egidp, sgidp)
syscall sys_getpgid nr 6119 nbargs 1 types: (pid_t) args: (pid)
syscall sys_setfsuid nr 6120 nbargs 1 types: (uid_t) args: (uid)
syscall sys_setfsgid nr 6121 nbargs 1 types: (gid_t) args: (gid)
syscall sys_getsid nr 6122 nbargs 1 types: (pid_t) args: (pid)
syscall sys_capget nr 6123 nbargs 2 types: (cap_user_header_t, cap_user_data_t) args: (header, dataptr)
syscall sys_capset nr 6124 nbargs 2 types: (cap_user_header_t, const cap_user_data_t) args: (header, data)
syscall sys_32_rt_sigpending nr 6125 nbargs 2 types: (compat_sigset_t *, unsigned int) args: (uset, sigsetsize)
syscall sys_32_rt_sigqueueinfo nr 6127 nbargs 3 types: (int, int, compat_siginfo_t *) args: (pid, sig, uinfo)
syscall sys_mknod nr 6131 nbargs 3 types: (const char *, umode_t, unsigned) args: (filename, mode, dev)
syscall sys_32_personality nr 6132 nbargs 1 types: (unsigned long) args: (personality)
syscall sys_sysfs nr 6136 nbargs 3 types: (int, unsigned long, unsigned long) args: (option, arg1, arg2)
syscall sys_getpriority nr 6137 nbargs 2 types: (int, int) args: (which, who)
syscall sys_setpriority nr 6138 nbargs 3 types: (int, int, int) args: (which, who, niceval)
syscall sys_sched_setparam nr 6139 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_getparam nr 6140 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_setscheduler nr 6141 nbargs 3 types: (pid_t, int, struct sched_param *) args: (pid, policy, param)
syscall sys_sched_getscheduler nr 6142 nbargs 1 types: (pid_t) args: (pid)
syscall sys_sched_get_priority_max nr 6143 nbargs 1 types: (int) args: (policy)
syscall sys_sched_get_priority_min nr 6144 nbargs 1 types: (int) args: (policy)
syscall sys_32_sched_rr_get_interval nr 6145 nbargs 2 types: (compat_pid_t, struct compat_timespec *) args: (pid, interval)
syscall sys_mlock nr 6146 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_munlock nr 6147 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_mlockall nr 6148 nbargs 1 types: (int) args: (flags)
syscall sys_munlockall nr 6149 nbargs 0 types: () args: ()
syscall sys_vhangup nr 6150 nbargs 0 types: () args: ()
syscall sys_pivot_root nr 6151 nbargs 2 types: (const char *, const char *) args: (new_root, put_old)
syscall sys_prctl nr 6153 nbargs 5 types: (int, unsigned long, unsigned long, unsigned long, unsigned long) args: (option, arg2, arg3, arg4, arg5)
syscall sys_chroot nr 6156 nbargs 1 types: (const char *) args: (filename)
syscall sys_sync nr 6157 nbargs 0 types: () args: ()
syscall sys_umount nr 6161 nbargs 2 types: (char *, int) args: (name, flags)
syscall sys_swapon nr 6162 nbargs 2 types: (const char *, int) args: (specialfile, swap_flags)
syscall sys_swapoff nr 6163 nbargs 1 types: (const char *) args: (specialfile)
syscall sys_reboot nr 6164 nbargs 4 types: (int, int, unsigned int, void *) args: (magic1, magic2, cmd, arg)
syscall sys_sethostname nr 6165 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_setdomainname nr 6166 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_init_module nr 6168 nbargs 3 types: (void *, unsigned long, const char *) args: (umod, len, uargs)
syscall sys_delete_module nr 6169 nbargs 2 types: (const char *, unsigned int) args: (name_user, flags)
syscall sys_quotactl nr 6172 nbargs 4 types: (unsigned int, const char *, qid_t, void *) args: (cmd, special, id, addr)
syscall sys_gettid nr 6178 nbargs 0 types: () args: ()
syscall sys_setxattr nr 6180 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_lsetxattr nr 6181 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_fsetxattr nr 6182 nbargs 5 types: (int, const char *, const void *, size_t, int) args: (fd, name, value, size, flags)
syscall sys_getxattr nr 6183 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_lgetxattr nr 6184 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_fgetxattr nr 6185 nbargs 4 types: (int, const char *, void *, size_t) args: (fd, name, value, size)
syscall sys_listxattr nr 6186 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_llistxattr nr 6187 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_flistxattr nr 6188 nbargs 3 types: (int, char *, size_t) args: (fd, list, size)
syscall sys_removexattr nr 6189 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_lremovexattr nr 6190 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_fremovexattr nr 6191 nbargs 2 types: (int, const char *) args: (fd, name)
syscall sys_tkill nr 6192 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_32_futex nr 6194 nbargs 6 types: (u32 *, int, u32, struct compat_timespec *, u32 *, u32) args: (uaddr, op, val, utime, uaddr2, val3)
syscall sys_cacheflush nr 6197 nbargs 3 types: (unsigned long, unsigned long, unsigned int) args: (addr, bytes, cache)
syscall sys_cachectl nr 6198 nbargs 3 types: (char *, int, int) args: (addr, nbytes, op)
syscall sys_io_destroy nr 6201 nbargs 1 types: (aio_context_t) args: (ctx)
syscall sys_io_cancel nr 6204 nbargs 3 types: (aio_context_t, struct iocb *, struct io_event *) args: (ctx_id, iocb, result)
syscall sys_exit_group nr 6205 nbargs 1 types: (int) args: (error_code)
syscall sys_epoll_create nr 6207 nbargs 1 types: (int) args: (size)
syscall sys_epoll_ctl nr 6208 nbargs 4 types: (int, int, int, struct epoll_event *) args: (epfd, op, fd, event)
syscall sys_epoll_wait nr 6209 nbargs 4 types: (int, struct epoll_event *, int, int) args: (epfd, events, maxevents, timeout)
syscall sys_remap_file_pages nr 6210 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (start, size, prot, pgoff, flags)
syscall sys_set_tid_address nr 6213 nbargs 1 types: (int *) args: (tidptr)
syscall sys_restart_syscall nr 6214 nbargs 0 types: () args: ()
syscall sys_sendfile64 nr 6219 nbargs 4 types: (int, int, loff_t *, size_t) args: (out_fd, in_fd, offset, count)
syscall sys_timer_getoverrun nr 6223 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_timer_delete nr 6224 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_tgkill nr 6229 nbargs 3 types: (pid_t, pid_t, int) args: (tgid, pid, sig)
syscall sys_set_thread_area nr 6246 nbargs 1 types: (unsigned long) args: (addr)
syscall sys_inotify_init nr 6247 nbargs 0 types: () args: ()
syscall sys_inotify_add_watch nr 6248 nbargs 3 types: (int, const char *, u32) args: (fd, pathname, mask)
syscall sys_inotify_rm_watch nr 6249 nbargs 2 types: (int, __s32) args: (fd, wd)
syscall sys_openat nr 6251 nbargs 4 types: (int, const char *, int, umode_t) args: (dfd, filename, flags, mode)
syscall sys_mkdirat nr 6252 nbargs 3 types: (int, const char *, umode_t) args: (dfd, pathname, mode)
syscall sys_mknodat nr 6253 nbargs 4 types: (int, const char *, umode_t, unsigned) args: (dfd, filename, mode, dev)
syscall sys_fchownat nr 6254 nbargs 5 types: (int, const char *, uid_t, gid_t, int) args: (dfd, filename, user, group, flag)
syscall sys_newfstatat nr 6256 nbargs 4 types: (int, const char *, struct stat *, int) args: (dfd, filename, statbuf, flag)
syscall sys_unlinkat nr 6257 nbargs 3 types: (int, const char *, int) args: (dfd, pathname, flag)
syscall sys_renameat nr 6258 nbargs 4 types: (int, const char *, int, const char *) args: (olddfd, oldname, newdfd, newname)
syscall sys_linkat nr 6259 nbargs 5 types: (int, const char *, int, const char *, int) args: (olddfd, oldname, newdfd, newname, flags)
syscall sys_symlinkat nr 6260 nbargs 3 types: (const char *, int, const char *) args: (oldname, newdfd, newname)
syscall sys_readlinkat nr 6261 nbargs 4 types: (int, const char *, char *, int) args: (dfd, pathname, buf, bufsiz)
syscall sys_fchmodat nr 6262 nbargs 3 types: (int, const char *, umode_t) args: (dfd, filename, mode)
syscall sys_faccessat nr 6263 nbargs 3 types: (int, const char *, int) args: (dfd, filename, mode)
syscall sys_unshare nr 6266 nbargs 1 types: (unsigned long) args: (unshare_flags)
syscall sys_splice nr 6267 nbargs 6 types: (int, loff_t *, int, loff_t *, size_t, unsigned int) args: (fd_in, off_in, fd_out, off_out, len, flags)
syscall sys_tee nr 6269 nbargs 4 types: (int, int, size_t, unsigned int) args: (fdin, fdout, len, flags)
syscall sys_getcpu nr 6275 nbargs 3 types: (unsigned *, unsigned *, struct getcpu_cache *) args: (cpup, nodep, unused)
syscall sys_ioprio_set nr 6277 nbargs 3 types: (int, int, int) args: (which, who, ioprio)
syscall sys_ioprio_get nr 6278 nbargs 2 types: (int, int) args: (which, who)
syscall sys_eventfd nr 6282 nbargs 1 types: (unsigned int) args: (count)
syscall sys_timerfd_create nr 6284 nbargs 2 types: (int, int) args: (clockid, flags)
syscall sys_signalfd4 nr 6287 nbargs 4 types: (int, sigset_t *, size_t, int) args: (ufd, user_mask, sizemask, flags)
syscall sys_eventfd2 nr 6288 nbargs 2 types: (unsigned int, int) args: (count, flags)
syscall sys_epoll_create1 nr 6289 nbargs 1 types: (int) args: (flags)
syscall sys_dup3 nr 6290 nbargs 3 types: (unsigned int, unsigned int, int) args: (oldfd, newfd, flags)
syscall sys_pipe2 nr 6291 nbargs 2 types: (int *, int) args: (fildes, flags)
syscall sys_inotify_init1 nr 6292 nbargs 1 types: (int) args: (flags)
syscall sys_preadv nr 6293 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_pwritev nr 6294 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_accept4 nr 6297 nbargs 4 types: (int, struct sockaddr *, int *, int) args: (fd, upeer_sockaddr, upeer_addrlen, flags)
syscall sys_getdents64 nr 6299 nbargs 3 types: (unsigned int, struct linux_dirent64 *, unsigned int) args: (fd, dirent, count)
syscall sys_prlimit64 nr 6302 nbargs 4 types: (pid_t, unsigned int, const struct rlimit64 *, struct rlimit64 *) args: (pid, resource, new_rlim, old_rlim)
syscall sys_syncfs nr 6306 nbargs 1 types: (int) args: (fd)
syscall sys_setns nr 6308 nbargs 2 types: (int, int) args: (fd, nstype)

View File

@ -0,0 +1,256 @@
syscall sys_io_setup nr 0 nbargs 2 types: (unsigned, aio_context_t *) args: (nr_events, ctxp)
syscall sys_io_destroy nr 1 nbargs 1 types: (aio_context_t) args: (ctx)
syscall sys_io_submit nr 2 nbargs 3 types: (aio_context_t, long, struct iocb * *) args: (ctx_id, nr, iocbpp)
syscall sys_io_cancel nr 3 nbargs 3 types: (aio_context_t, struct iocb *, struct io_event *) args: (ctx_id, iocb, result)
syscall sys_io_getevents nr 4 nbargs 5 types: (aio_context_t, long, long, struct io_event *, struct timespec *) args: (ctx_id, min_nr, nr, events, timeout)
syscall sys_setxattr nr 5 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_lsetxattr nr 6 nbargs 5 types: (const char *, const char *, const void *, size_t, int) args: (pathname, name, value, size, flags)
syscall sys_fsetxattr nr 7 nbargs 5 types: (int, const char *, const void *, size_t, int) args: (fd, name, value, size, flags)
syscall sys_getxattr nr 8 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_lgetxattr nr 9 nbargs 4 types: (const char *, const char *, void *, size_t) args: (pathname, name, value, size)
syscall sys_fgetxattr nr 10 nbargs 4 types: (int, const char *, void *, size_t) args: (fd, name, value, size)
syscall sys_listxattr nr 11 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_llistxattr nr 12 nbargs 3 types: (const char *, char *, size_t) args: (pathname, list, size)
syscall sys_flistxattr nr 13 nbargs 3 types: (int, char *, size_t) args: (fd, list, size)
syscall sys_removexattr nr 14 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_lremovexattr nr 15 nbargs 2 types: (const char *, const char *) args: (pathname, name)
syscall sys_fremovexattr nr 16 nbargs 2 types: (int, const char *) args: (fd, name)
syscall sys_getcwd nr 17 nbargs 2 types: (char *, unsigned long) args: (buf, size)
syscall sys_lookup_dcookie nr 18 nbargs 3 types: (u64, char *, size_t) args: (cookie64, buf, len)
syscall sys_eventfd2 nr 19 nbargs 2 types: (unsigned int, int) args: (count, flags)
syscall sys_epoll_create1 nr 20 nbargs 1 types: (int) args: (flags)
syscall sys_epoll_ctl nr 21 nbargs 4 types: (int, int, int, struct epoll_event *) args: (epfd, op, fd, event)
syscall sys_epoll_pwait nr 22 nbargs 6 types: (int, struct epoll_event *, int, int, const sigset_t *, size_t) args: (epfd, events, maxevents, timeout, sigmask, sigsetsize)
syscall sys_dup nr 23 nbargs 1 types: (unsigned int) args: (fildes)
syscall sys_dup3 nr 24 nbargs 3 types: (unsigned int, unsigned int, int) args: (oldfd, newfd, flags)
syscall sys_fcntl nr 25 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_inotify_init1 nr 26 nbargs 1 types: (int) args: (flags)
syscall sys_inotify_add_watch nr 27 nbargs 3 types: (int, const char *, u32) args: (fd, pathname, mask)
syscall sys_inotify_rm_watch nr 28 nbargs 2 types: (int, __s32) args: (fd, wd)
syscall sys_ioctl nr 29 nbargs 3 types: (unsigned int, unsigned int, unsigned long) args: (fd, cmd, arg)
syscall sys_ioprio_set nr 30 nbargs 3 types: (int, int, int) args: (which, who, ioprio)
syscall sys_ioprio_get nr 31 nbargs 2 types: (int, int) args: (which, who)
syscall sys_flock nr 32 nbargs 2 types: (unsigned int, unsigned int) args: (fd, cmd)
syscall sys_mknodat nr 33 nbargs 4 types: (int, const char *, umode_t, unsigned) args: (dfd, filename, mode, dev)
syscall sys_mkdirat nr 34 nbargs 3 types: (int, const char *, umode_t) args: (dfd, pathname, mode)
syscall sys_unlinkat nr 35 nbargs 3 types: (int, const char *, int) args: (dfd, pathname, flag)
syscall sys_symlinkat nr 36 nbargs 3 types: (const char *, int, const char *) args: (oldname, newdfd, newname)
syscall sys_linkat nr 37 nbargs 5 types: (int, const char *, int, const char *, int) args: (olddfd, oldname, newdfd, newname, flags)
syscall sys_renameat nr 38 nbargs 4 types: (int, const char *, int, const char *) args: (olddfd, oldname, newdfd, newname)
syscall sys_umount nr 39 nbargs 2 types: (char *, int) args: (name, flags)
syscall sys_mount nr 40 nbargs 5 types: (char *, char *, char *, unsigned long, void *) args: (dev_name, dir_name, type, flags, data)
syscall sys_pivot_root nr 41 nbargs 2 types: (const char *, const char *) args: (new_root, put_old)
syscall sys_statfs nr 43 nbargs 2 types: (const char *, struct statfs *) args: (pathname, buf)
syscall sys_fstatfs nr 44 nbargs 2 types: (unsigned int, struct statfs *) args: (fd, buf)
syscall sys_truncate nr 45 nbargs 2 types: (const char *, long) args: (path, length)
syscall sys_ftruncate nr 46 nbargs 2 types: (unsigned int, unsigned long) args: (fd, length)
syscall sys_fallocate nr 47 nbargs 4 types: (int, int, loff_t, loff_t) args: (fd, mode, offset, len)
syscall sys_faccessat nr 48 nbargs 3 types: (int, const char *, int) args: (dfd, filename, mode)
syscall sys_chdir nr 49 nbargs 1 types: (const char *) args: (filename)
syscall sys_fchdir nr 50 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_chroot nr 51 nbargs 1 types: (const char *) args: (filename)
syscall sys_fchmod nr 52 nbargs 2 types: (unsigned int, umode_t) args: (fd, mode)
syscall sys_fchmodat nr 53 nbargs 3 types: (int, const char *, umode_t) args: (dfd, filename, mode)
syscall sys_fchownat nr 54 nbargs 5 types: (int, const char *, uid_t, gid_t, int) args: (dfd, filename, user, group, flag)
syscall sys_fchown nr 55 nbargs 3 types: (unsigned int, uid_t, gid_t) args: (fd, user, group)
syscall sys_openat nr 56 nbargs 4 types: (int, const char *, int, umode_t) args: (dfd, filename, flags, mode)
syscall sys_close nr 57 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_vhangup nr 58 nbargs 0 types: () args: ()
syscall sys_pipe2 nr 59 nbargs 2 types: (int *, int) args: (fildes, flags)
syscall sys_quotactl nr 60 nbargs 4 types: (unsigned int, const char *, qid_t, void *) args: (cmd, special, id, addr)
syscall sys_getdents64 nr 61 nbargs 3 types: (unsigned int, struct linux_dirent64 *, unsigned int) args: (fd, dirent, count)
syscall sys_lseek nr 62 nbargs 3 types: (unsigned int, off_t, unsigned int) args: (fd, offset, whence)
syscall sys_read nr 63 nbargs 3 types: (unsigned int, char *, size_t) args: (fd, buf, count)
syscall sys_write nr 64 nbargs 3 types: (unsigned int, const char *, size_t) args: (fd, buf, count)
syscall sys_readv nr 65 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_writev nr 66 nbargs 3 types: (unsigned long, const struct iovec *, unsigned long) args: (fd, vec, vlen)
syscall sys_pread64 nr 67 nbargs 4 types: (unsigned int, char *, size_t, loff_t) args: (fd, buf, count, pos)
syscall sys_pwrite64 nr 68 nbargs 4 types: (unsigned int, const char *, size_t, loff_t) args: (fd, buf, count, pos)
syscall sys_preadv nr 69 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_pwritev nr 70 nbargs 5 types: (unsigned long, const struct iovec *, unsigned long, unsigned long, unsigned long) args: (fd, vec, vlen, pos_l, pos_h)
syscall sys_sendfile64 nr 71 nbargs 4 types: (int, int, loff_t *, size_t) args: (out_fd, in_fd, offset, count)
syscall sys_pselect6 nr 72 nbargs 6 types: (int, fd_set *, fd_set *, fd_set *, struct timespec *, void *) args: (n, inp, outp, exp, tsp, sig)
syscall sys_ppoll nr 73 nbargs 5 types: (struct pollfd *, unsigned int, struct timespec *, const sigset_t *, size_t) args: (ufds, nfds, tsp, sigmask, sigsetsize)
syscall sys_signalfd4 nr 74 nbargs 4 types: (int, sigset_t *, size_t, int) args: (ufd, user_mask, sizemask, flags)
syscall sys_vmsplice nr 75 nbargs 4 types: (int, const struct iovec *, unsigned long, unsigned int) args: (fd, iov, nr_segs, flags)
syscall sys_splice nr 76 nbargs 6 types: (int, loff_t *, int, loff_t *, size_t, unsigned int) args: (fd_in, off_in, fd_out, off_out, len, flags)
syscall sys_tee nr 77 nbargs 4 types: (int, int, size_t, unsigned int) args: (fdin, fdout, len, flags)
syscall sys_readlinkat nr 78 nbargs 4 types: (int, const char *, char *, int) args: (dfd, pathname, buf, bufsiz)
syscall sys_newfstatat nr 79 nbargs 4 types: (int, const char *, struct stat *, int) args: (dfd, filename, statbuf, flag)
syscall sys_newfstat nr 80 nbargs 2 types: (unsigned int, struct stat *) args: (fd, statbuf)
syscall sys_sync nr 81 nbargs 0 types: () args: ()
syscall sys_fsync nr 82 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_fdatasync nr 83 nbargs 1 types: (unsigned int) args: (fd)
syscall sys_sync_file_range nr 84 nbargs 4 types: (int, loff_t, loff_t, unsigned int) args: (fd, offset, nbytes, flags)
syscall sys_timerfd_create nr 85 nbargs 2 types: (int, int) args: (clockid, flags)
syscall sys_timerfd_settime nr 86 nbargs 4 types: (int, int, const struct itimerspec *, struct itimerspec *) args: (ufd, flags, utmr, otmr)
syscall sys_timerfd_gettime nr 87 nbargs 2 types: (int, struct itimerspec *) args: (ufd, otmr)
syscall sys_utimensat nr 88 nbargs 4 types: (int, const char *, struct timespec *, int) args: (dfd, filename, utimes, flags)
syscall sys_acct nr 89 nbargs 1 types: (const char *) args: (name)
syscall sys_capget nr 90 nbargs 2 types: (cap_user_header_t, cap_user_data_t) args: (header, dataptr)
syscall sys_capset nr 91 nbargs 2 types: (cap_user_header_t, const cap_user_data_t) args: (header, data)
syscall sys_personality nr 92 nbargs 1 types: (unsigned int) args: (personality)
syscall sys_exit nr 93 nbargs 1 types: (int) args: (error_code)
syscall sys_exit_group nr 94 nbargs 1 types: (int) args: (error_code)
syscall sys_waitid nr 95 nbargs 5 types: (int, pid_t, struct siginfo *, int, struct rusage *) args: (which, upid, infop, options, ru)
syscall sys_set_tid_address nr 96 nbargs 1 types: (int *) args: (tidptr)
syscall sys_unshare nr 97 nbargs 1 types: (unsigned long) args: (unshare_flags)
syscall sys_futex nr 98 nbargs 6 types: (u32 *, int, u32, struct timespec *, u32 *, u32) args: (uaddr, op, val, utime, uaddr2, val3)
syscall sys_set_robust_list nr 99 nbargs 2 types: (struct robust_list_head *, size_t) args: (head, len)
syscall sys_get_robust_list nr 100 nbargs 3 types: (int, struct robust_list_head * *, size_t *) args: (pid, head_ptr, len_ptr)
syscall sys_nanosleep nr 101 nbargs 2 types: (struct timespec *, struct timespec *) args: (rqtp, rmtp)
syscall sys_getitimer nr 102 nbargs 2 types: (int, struct itimerval *) args: (which, value)
syscall sys_setitimer nr 103 nbargs 3 types: (int, struct itimerval *, struct itimerval *) args: (which, value, ovalue)
syscall sys_init_module nr 105 nbargs 3 types: (void *, unsigned long, const char *) args: (umod, len, uargs)
syscall sys_delete_module nr 106 nbargs 2 types: (const char *, unsigned int) args: (name_user, flags)
syscall sys_timer_create nr 107 nbargs 3 types: (const clockid_t, struct sigevent *, timer_t *) args: (which_clock, timer_event_spec, created_timer_id)
syscall sys_timer_gettime nr 108 nbargs 2 types: (timer_t, struct itimerspec *) args: (timer_id, setting)
syscall sys_timer_getoverrun nr 109 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_timer_settime nr 110 nbargs 4 types: (timer_t, int, const struct itimerspec *, struct itimerspec *) args: (timer_id, flags, new_setting, old_setting)
syscall sys_timer_delete nr 111 nbargs 1 types: (timer_t) args: (timer_id)
syscall sys_clock_settime nr 112 nbargs 2 types: (const clockid_t, const struct timespec *) args: (which_clock, tp)
syscall sys_clock_gettime nr 113 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_getres nr 114 nbargs 2 types: (const clockid_t, struct timespec *) args: (which_clock, tp)
syscall sys_clock_nanosleep nr 115 nbargs 4 types: (const clockid_t, int, const struct timespec *, struct timespec *) args: (which_clock, flags, rqtp, rmtp)
syscall sys_syslog nr 116 nbargs 3 types: (int, char *, int) args: (type, buf, len)
syscall sys_ptrace nr 117 nbargs 4 types: (long, long, unsigned long, unsigned long) args: (request, pid, addr, data)
syscall sys_sched_setparam nr 118 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_setscheduler nr 119 nbargs 3 types: (pid_t, int, struct sched_param *) args: (pid, policy, param)
syscall sys_sched_getscheduler nr 120 nbargs 1 types: (pid_t) args: (pid)
syscall sys_sched_getparam nr 121 nbargs 2 types: (pid_t, struct sched_param *) args: (pid, param)
syscall sys_sched_setaffinity nr 122 nbargs 3 types: (pid_t, unsigned int, unsigned long *) args: (pid, len, user_mask_ptr)
syscall sys_sched_getaffinity nr 123 nbargs 3 types: (pid_t, unsigned int, unsigned long *) args: (pid, len, user_mask_ptr)
syscall sys_sched_yield nr 124 nbargs 0 types: () args: ()
syscall sys_sched_get_priority_max nr 125 nbargs 1 types: (int) args: (policy)
syscall sys_sched_get_priority_min nr 126 nbargs 1 types: (int) args: (policy)
syscall sys_sched_rr_get_interval nr 127 nbargs 2 types: (pid_t, struct timespec *) args: (pid, interval)
syscall sys_restart_syscall nr 128 nbargs 0 types: () args: ()
syscall sys_kill nr 129 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_tkill nr 130 nbargs 2 types: (pid_t, int) args: (pid, sig)
syscall sys_tgkill nr 131 nbargs 3 types: (pid_t, pid_t, int) args: (tgid, pid, sig)
syscall sys_sigaltstack nr 132 nbargs 2 types: (const stack_t *, stack_t *) args: (uss, uoss)
syscall sys_rt_sigsuspend nr 133 nbargs 2 types: (sigset_t *, size_t) args: (unewset, sigsetsize)
syscall sys_rt_sigaction nr 134 nbargs 4 types: (int, const struct sigaction *, struct sigaction *, size_t) args: (sig, act, oact, sigsetsize)
syscall sys_rt_sigprocmask nr 135 nbargs 4 types: (int, sigset_t *, sigset_t *, size_t) args: (how, nset, oset, sigsetsize)
syscall sys_rt_sigpending nr 136 nbargs 2 types: (sigset_t *, size_t) args: (uset, sigsetsize)
syscall sys_rt_sigtimedwait nr 137 nbargs 4 types: (const sigset_t *, siginfo_t *, const struct timespec *, size_t) args: (uthese, uinfo, uts, sigsetsize)
syscall sys_rt_sigqueueinfo nr 138 nbargs 3 types: (pid_t, int, siginfo_t *) args: (pid, sig, uinfo)
syscall sys_setpriority nr 140 nbargs 3 types: (int, int, int) args: (which, who, niceval)
syscall sys_getpriority nr 141 nbargs 2 types: (int, int) args: (which, who)
syscall sys_reboot nr 142 nbargs 4 types: (int, int, unsigned int, void *) args: (magic1, magic2, cmd, arg)
syscall sys_setregid nr 143 nbargs 2 types: (gid_t, gid_t) args: (rgid, egid)
syscall sys_setgid nr 144 nbargs 1 types: (gid_t) args: (gid)
syscall sys_setreuid nr 145 nbargs 2 types: (uid_t, uid_t) args: (ruid, euid)
syscall sys_setuid nr 146 nbargs 1 types: (uid_t) args: (uid)
syscall sys_setresuid nr 147 nbargs 3 types: (uid_t, uid_t, uid_t) args: (ruid, euid, suid)
syscall sys_getresuid nr 148 nbargs 3 types: (uid_t *, uid_t *, uid_t *) args: (ruidp, euidp, suidp)
syscall sys_setresgid nr 149 nbargs 3 types: (gid_t, gid_t, gid_t) args: (rgid, egid, sgid)
syscall sys_getresgid nr 150 nbargs 3 types: (gid_t *, gid_t *, gid_t *) args: (rgidp, egidp, sgidp)
syscall sys_setfsuid nr 151 nbargs 1 types: (uid_t) args: (uid)
syscall sys_setfsgid nr 152 nbargs 1 types: (gid_t) args: (gid)
syscall sys_times nr 153 nbargs 1 types: (struct tms *) args: (tbuf)
syscall sys_setpgid nr 154 nbargs 2 types: (pid_t, pid_t) args: (pid, pgid)
syscall sys_getpgid nr 155 nbargs 1 types: (pid_t) args: (pid)
syscall sys_getsid nr 156 nbargs 1 types: (pid_t) args: (pid)
syscall sys_setsid nr 157 nbargs 0 types: () args: ()
syscall sys_getgroups nr 158 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_setgroups nr 159 nbargs 2 types: (int, gid_t *) args: (gidsetsize, grouplist)
syscall sys_newuname nr 160 nbargs 1 types: (struct new_utsname *) args: (name)
syscall sys_sethostname nr 161 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_setdomainname nr 162 nbargs 2 types: (char *, int) args: (name, len)
syscall sys_getrlimit nr 163 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_setrlimit nr 164 nbargs 2 types: (unsigned int, struct rlimit *) args: (resource, rlim)
syscall sys_getrusage nr 165 nbargs 2 types: (int, struct rusage *) args: (who, ru)
syscall sys_umask nr 166 nbargs 1 types: (int) args: (mask)
syscall sys_prctl nr 167 nbargs 5 types: (int, unsigned long, unsigned long, unsigned long, unsigned long) args: (option, arg2, arg3, arg4, arg5)
syscall sys_getcpu nr 168 nbargs 3 types: (unsigned *, unsigned *, struct getcpu_cache *) args: (cpup, nodep, unused)
syscall sys_gettimeofday nr 169 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_settimeofday nr 170 nbargs 2 types: (struct timeval *, struct timezone *) args: (tv, tz)
syscall sys_adjtimex nr 171 nbargs 1 types: (struct timex *) args: (txc_p)
syscall sys_getpid nr 172 nbargs 0 types: () args: ()
syscall sys_getppid nr 173 nbargs 0 types: () args: ()
syscall sys_getuid nr 174 nbargs 0 types: () args: ()
syscall sys_geteuid nr 175 nbargs 0 types: () args: ()
syscall sys_getgid nr 176 nbargs 0 types: () args: ()
syscall sys_getegid nr 177 nbargs 0 types: () args: ()
syscall sys_gettid nr 178 nbargs 0 types: () args: ()
syscall sys_sysinfo nr 179 nbargs 1 types: (struct sysinfo *) args: (info)
syscall sys_mq_open nr 180 nbargs 4 types: (const char *, int, umode_t, struct mq_attr *) args: (u_name, oflag, mode, u_attr)
syscall sys_mq_unlink nr 181 nbargs 1 types: (const char *) args: (u_name)
syscall sys_mq_timedsend nr 182 nbargs 5 types: (mqd_t, const char *, size_t, unsigned int, const struct timespec *) args: (mqdes, u_msg_ptr, msg_len, msg_prio, u_abs_timeout)
syscall sys_mq_timedreceive nr 183 nbargs 5 types: (mqd_t, char *, size_t, unsigned int *, const struct timespec *) args: (mqdes, u_msg_ptr, msg_len, u_msg_prio, u_abs_timeout)
syscall sys_mq_notify nr 184 nbargs 2 types: (mqd_t, const struct sigevent *) args: (mqdes, u_notification)
syscall sys_mq_getsetattr nr 185 nbargs 3 types: (mqd_t, const struct mq_attr *, struct mq_attr *) args: (mqdes, u_mqstat, u_omqstat)
syscall sys_msgget nr 186 nbargs 2 types: (key_t, int) args: (key, msgflg)
syscall sys_msgctl nr 187 nbargs 3 types: (int, int, struct msqid_ds *) args: (msqid, cmd, buf)
syscall sys_msgrcv nr 188 nbargs 5 types: (int, struct msgbuf *, size_t, long, int) args: (msqid, msgp, msgsz, msgtyp, msgflg)
syscall sys_msgsnd nr 189 nbargs 4 types: (int, struct msgbuf *, size_t, int) args: (msqid, msgp, msgsz, msgflg)
syscall sys_semget nr 190 nbargs 3 types: (key_t, int, int) args: (key, nsems, semflg)
syscall sys_semctl nr 191 nbargs 4 types: (int, int, int, unsigned long) args: (semid, semnum, cmd, arg)
syscall sys_semtimedop nr 192 nbargs 4 types: (int, struct sembuf *, unsigned, const struct timespec *) args: (semid, tsops, nsops, timeout)
syscall sys_semop nr 193 nbargs 3 types: (int, struct sembuf *, unsigned) args: (semid, tsops, nsops)
syscall sys_shmget nr 194 nbargs 3 types: (key_t, size_t, int) args: (key, size, shmflg)
syscall sys_shmctl nr 195 nbargs 3 types: (int, int, struct shmid_ds *) args: (shmid, cmd, buf)
syscall sys_shmat nr 196 nbargs 3 types: (int, char *, int) args: (shmid, shmaddr, shmflg)
syscall sys_shmdt nr 197 nbargs 1 types: (char *) args: (shmaddr)
syscall sys_socket nr 198 nbargs 3 types: (int, int, int) args: (family, type, protocol)
syscall sys_socketpair nr 199 nbargs 4 types: (int, int, int, int *) args: (family, type, protocol, usockvec)
syscall sys_bind nr 200 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, umyaddr, addrlen)
syscall sys_listen nr 201 nbargs 2 types: (int, int) args: (fd, backlog)
syscall sys_accept nr 202 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, upeer_sockaddr, upeer_addrlen)
syscall sys_connect nr 203 nbargs 3 types: (int, struct sockaddr *, int) args: (fd, uservaddr, addrlen)
syscall sys_getsockname nr 204 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_getpeername nr 205 nbargs 3 types: (int, struct sockaddr *, int *) args: (fd, usockaddr, usockaddr_len)
syscall sys_sendto nr 206 nbargs 6 types: (int, void *, size_t, unsigned int, struct sockaddr *, int) args: (fd, buff, len, flags, addr, addr_len)
syscall sys_recvfrom nr 207 nbargs 6 types: (int, void *, size_t, unsigned int, struct sockaddr *, int *) args: (fd, ubuf, size, flags, addr, addr_len)
syscall sys_setsockopt nr 208 nbargs 5 types: (int, int, int, char *, int) args: (fd, level, optname, optval, optlen)
syscall sys_getsockopt nr 209 nbargs 5 types: (int, int, int, char *, int *) args: (fd, level, optname, optval, optlen)
syscall sys_shutdown nr 210 nbargs 2 types: (int, int) args: (fd, how)
syscall sys_sendmsg nr 211 nbargs 3 types: (int, struct user_msghdr *, unsigned int) args: (fd, msg, flags)
syscall sys_recvmsg nr 212 nbargs 3 types: (int, struct user_msghdr *, unsigned int) args: (fd, msg, flags)
syscall sys_readahead nr 213 nbargs 3 types: (int, loff_t, size_t) args: (fd, offset, count)
syscall sys_brk nr 214 nbargs 1 types: (unsigned long) args: (brk)
syscall sys_munmap nr 215 nbargs 2 types: (unsigned long, size_t) args: (addr, len)
syscall sys_mremap nr 216 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (addr, old_len, new_len, flags, new_addr)
syscall sys_add_key nr 217 nbargs 5 types: (const char *, const char *, const void *, size_t, key_serial_t) args: (_type, _description, _payload, plen, ringid)
syscall sys_request_key nr 218 nbargs 4 types: (const char *, const char *, const char *, key_serial_t) args: (_type, _description, _callout_info, destringid)
syscall sys_keyctl nr 219 nbargs 5 types: (int, unsigned long, unsigned long, unsigned long, unsigned long) args: (option, arg2, arg3, arg4, arg5)
syscall sys_execve nr 221 nbargs 3 types: (const char *, const char *const *, const char *const *) args: (filename, argv, envp)
syscall sys_fadvise64_64 nr 223 nbargs 4 types: (int, loff_t, loff_t, int) args: (fd, offset, len, advice)
syscall sys_swapon nr 224 nbargs 2 types: (const char *, int) args: (specialfile, swap_flags)
syscall sys_swapoff nr 225 nbargs 1 types: (const char *) args: (specialfile)
syscall sys_mprotect nr 226 nbargs 3 types: (unsigned long, size_t, unsigned long) args: (start, len, prot)
syscall sys_msync nr 227 nbargs 3 types: (unsigned long, size_t, int) args: (start, len, flags)
syscall sys_mlock nr 228 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_munlock nr 229 nbargs 2 types: (unsigned long, size_t) args: (start, len)
syscall sys_mlockall nr 230 nbargs 1 types: (int) args: (flags)
syscall sys_munlockall nr 231 nbargs 0 types: () args: ()
syscall sys_mincore nr 232 nbargs 3 types: (unsigned long, size_t, unsigned char *) args: (start, len, vec)
syscall sys_madvise nr 233 nbargs 3 types: (unsigned long, size_t, int) args: (start, len_in, behavior)
syscall sys_remap_file_pages nr 234 nbargs 5 types: (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) args: (start, size, prot, pgoff, flags)
syscall sys_rt_tgsigqueueinfo nr 240 nbargs 4 types: (pid_t, pid_t, int, siginfo_t *) args: (tgid, pid, sig, uinfo)
syscall sys_perf_event_open nr 241 nbargs 5 types: (struct perf_event_attr *, pid_t, int, int, unsigned long) args: (attr_uptr, pid, cpu, group_fd, flags)
syscall sys_accept4 nr 242 nbargs 4 types: (int, struct sockaddr *, int *, int) args: (fd, upeer_sockaddr, upeer_addrlen, flags)
syscall sys_recvmmsg nr 243 nbargs 5 types: (int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *) args: (fd, mmsg, vlen, flags, timeout)
syscall sys_wait4 nr 260 nbargs 4 types: (pid_t, int *, int, struct rusage *) args: (upid, stat_addr, options, ru)
syscall sys_prlimit64 nr 261 nbargs 4 types: (pid_t, unsigned int, const struct rlimit64 *, struct rlimit64 *) args: (pid, resource, new_rlim, old_rlim)
syscall sys_fanotify_init nr 262 nbargs 2 types: (unsigned int, unsigned int) args: (flags, event_f_flags)
syscall sys_fanotify_mark nr 263 nbargs 5 types: (int, unsigned int, __u64, int, const char *) args: (fanotify_fd, flags, mask, dfd, pathname)
syscall sys_name_to_handle_at nr 264 nbargs 5 types: (int, const char *, struct file_handle *, int *, int) args: (dfd, name, handle, mnt_id, flag)
syscall sys_open_by_handle_at nr 265 nbargs 3 types: (int, struct file_handle *, int) args: (mountdirfd, handle, flags)
syscall sys_clock_adjtime nr 266 nbargs 2 types: (const clockid_t, struct timex *) args: (which_clock, utx)
syscall sys_syncfs nr 267 nbargs 1 types: (int) args: (fd)
syscall sys_setns nr 268 nbargs 2 types: (int, int) args: (fd, nstype)
syscall sys_sendmmsg nr 269 nbargs 4 types: (int, struct mmsghdr *, unsigned int, unsigned int) args: (fd, mmsg, vlen, flags)
syscall sys_process_vm_readv nr 270 nbargs 6 types: (pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long) args: (pid, lvec, liovcnt, rvec, riovcnt, flags)
syscall sys_process_vm_writev nr 271 nbargs 6 types: (pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long) args: (pid, lvec, liovcnt, rvec, riovcnt, flags)
syscall sys_finit_module nr 273 nbargs 3 types: (int, const char *, int) args: (fd, uargs, flags)
syscall sys_sched_setattr nr 274 nbargs 3 types: (pid_t, struct sched_attr *, unsigned int) args: (pid, uattr, flags)
syscall sys_sched_getattr nr 275 nbargs 4 types: (pid_t, struct sched_attr *, unsigned int, unsigned int) args: (pid, uattr, size, flags)
syscall sys_renameat2 nr 276 nbargs 5 types: (int, const char *, int, const char *, unsigned int) args: (olddfd, oldname, newdfd, newname, flags)
syscall sys_seccomp nr 277 nbargs 3 types: (unsigned int, unsigned int, const char *) args: (op, flags, uargs)
syscall sys_getrandom nr 278 nbargs 3 types: (char *, size_t, unsigned int) args: (buf, count, flags)
syscall sys_memfd_create nr 279 nbargs 2 types: (const char *, unsigned int) args: (uname, flags)
syscall sys_execveat nr 281 nbargs 5 types: (int, const char *, const char *const *, const char *const *, int) args: (fd, filename, argv, envp, flags)
syscall sys_membarrier nr 283 nbargs 2 types: (int, int) args: (cmd, flags)
syscall sys_mlock2 nr 284 nbargs 3 types: (unsigned long, size_t, int) args: (start, len, flags)

View File

@ -0,0 +1,34 @@
LTTng system call tracing
1) lttng-syscall-extractor
You need to build a kernel with CONFIG_FTRACE_SYSCALLS=y and
CONFIG_KALLSYMS_ALL=y for extraction. Apply the linker patch to get your
kernel to keep the system call metadata after boot. Then build and load
the LTTng syscall extractor module. The module will fail to load (this
is expected). See the dmesg output for system call metadata.
2) Generate system call TRACE_EVENT().
Take the dmesg metadata and feed it to lttng-syscalls-generate-headers.sh
(do not include the ending SUCCESS line), e.g., from the
instrumentation/syscalls directory. See the script header for usage example.
It should be run for both the integers and pointers types.
After these are created, we just need to follow the new system call additions,
no need to regenerate the whole thing, since system calls are only appended to.
3) Override headers
You need to provide override headers (even if they don't contain
overrides) for each architecture. Those are meant to contain manual
overrides for specific system calls for cases where the script do not
generate the correct typing for specific system calls.
4) Integrating the new architecture, updating architecture header
Edit instrumentation/syscalls/headers/syscalls_integers.h and
syscalls_pointers.h. Add the new architecture
(e.g. CONFIG_X86_64) to the newly-generated headers
(e.g. changing the current x86-64-syscalls-3.10.0-rc7_<CLASS>.h into
x86-64-syscalls-3.13.7_<CLASS>.h), then rebuild lttng-modules.

View File

@ -0,0 +1,141 @@
#ifndef CONFIG_UID16
#define OVERRIDE_32_getuid16
#define OVERRIDE_32_getgid16
#define OVERRIDE_32_geteuid16
#define OVERRIDE_32_getegid16
#define OVERRIDE_32_setuid16
#define OVERRIDE_32_setgid16
#define OVERRIDE_32_setfsuid16
#define OVERRIDE_32_setfsgid16
#define OVERRIDE_32_setreuid16
#define OVERRIDE_32_setregid16
#define OVERRIDE_32_fchown16
#define OVERRIDE_32_setresuid16
#define OVERRIDE_32_setresgid16
#define OVERRIDE_TABLE_32_getuid16
#define OVERRIDE_TABLE_32_getgid16
#define OVERRIDE_TABLE_32_geteuid16
#define OVERRIDE_TABLE_32_getegid16
#define OVERRIDE_TABLE_32_setuid16
#define OVERRIDE_TABLE_32_setgid16
#define OVERRIDE_TABLE_32_setreuid16
#define OVERRIDE_TABLE_32_setregid16
#define OVERRIDE_TABLE_32_fchown16
#define OVERRIDE_TABLE_32_setfsuid16
#define OVERRIDE_TABLE_32_setfsgid16
#define OVERRIDE_TABLE_32_setresuid16
#define OVERRIDE_TABLE_32_setresgid16
#endif
#ifndef CREATE_SYSCALL_TABLE
#if (__BYTE_ORDER == __LITTLE_ENDIAN)
#define OVERRIDE_32_arm_fadvise64_64
SC_LTTNG_TRACEPOINT_EVENT(arm_fadvise64_64,
TP_PROTO(sc_exit(long ret,) int fd, int advice,
int32_t offset_low, int32_t offset_high,
int32_t len_low, int32_t len_high),
TP_ARGS(sc_exit(ret,) fd, advice, offset_low, offset_high,
len_low, len_high),
TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
sc_in(ctf_integer(int, fd, fd))
sc_in(ctf_integer(int, advice, advice))
sc_in(ctf_integer(loff_t, offset,
((loff_t) offset_high << 32) | offset_low))
sc_in(ctf_integer(loff_t, len,
((loff_t) len_high << 32) | len_low))
)
)
#define OVERRIDE_32_sync_file_range2
SC_LTTNG_TRACEPOINT_EVENT(sync_file_range2,
TP_PROTO(sc_exit(long ret,) int fd,
unsigned int flags,
int32_t offset_low, int32_t offset_high,
int32_t nbytes_low, int32_t nbytes_high),
TP_ARGS(sc_exit(ret,) fd, flags, offset_low, offset_high,
nbytes_low, nbytes_high),
TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
sc_in(ctf_integer(int, fd, fd))
sc_in(ctf_integer(unsigned int, flags, flags))
sc_in(ctf_integer(loff_t, offset,
((loff_t) offset_high << 32) | offset_low))
sc_in(ctf_integer(loff_t, nbytes,
((loff_t) nbytes_high << 32) | nbytes_low))
)
)
#else /* __BIG_ENDIAN */
#define OVERRIDE_32_arm_fadvise64_64
SC_LTTNG_TRACEPOINT_EVENT(arm_fadvise64_64,
TP_PROTO(sc_exit(long ret,) int fd, int advice,
int32_t offset_high, int32_t offset_low,
int32_t len_high, int32_t len_low),
TP_ARGS(sc_exit(ret,) fd, advice, offset_high, offset_low,
len_high, len_low),
TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
sc_in(ctf_integer(int, fd, fd))
sc_in(ctf_integer(int, advice, advice))
sc_in(ctf_integer(loff_t, offset,
((loff_t) offset_high << 32) | offset_low))
sc_in(ctf_integer(loff_t, len,
((loff_t) len_high << 32) | len_low))
)
)
#define OVERRIDE_32_sync_file_range2
SC_LTTNG_TRACEPOINT_EVENT(sync_file_range2,
TP_PROTO(sc_exit(long ret,) int fd,
unsigned int flags,
int32_t offset_high, int32_t offset_low,
int32_t nbytes_high, int32_t nbytes_low),
TP_ARGS(sc_exit(ret,) fd, flags, offset_high, offset_low,
nbytes_high, nbytes_low),
TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
sc_in(ctf_integer(int, fd, fd))
sc_in(ctf_integer(unsigned int, flags, flags))
sc_in(ctf_integer(loff_t, offset,
((loff_t) offset_high << 32) | offset_low))
sc_in(ctf_integer(loff_t, nbytes,
((loff_t) nbytes_high << 32) | nbytes_low))
)
)
#endif
#define OVERRIDE_32_mmap2
SC_LTTNG_TRACEPOINT_EVENT(mmap2,
TP_PROTO(sc_exit(unsigned long ret,)
unsigned long addr, unsigned long len,
unsigned long prot, unsigned long flags,
unsigned long fd, unsigned long pgoff),
TP_ARGS(sc_exit(ret,) addr, len, prot, flags, fd, pgoff),
TP_FIELDS(sc_exit(ctf_integer_hex(unsigned long, ret, ret))
sc_in(ctf_integer_hex(unsigned long, addr, addr))
sc_in(ctf_integer(size_t, len, len))
sc_in(ctf_integer(int, prot, prot))
sc_in(ctf_integer(int, flags, flags))
sc_in(ctf_integer(int, fd, fd))
sc_in(ctf_integer(off_t, pgoff, pgoff))
)
)
#else /* CREATE_SYSCALL_TABLE */
#define OVERRIDE_TABLE_32_mmap
TRACE_SYSCALL_TABLE(mmap, mmap, 90, 6)
#define OVERRIDE_TABLE_32_mmap2
TRACE_SYSCALL_TABLE(mmap2, mmap2, 192, 6)
#define OVERRIDE_TABLE_32_arm_fadvise64_64
TRACE_SYSCALL_TABLE(arm_fadvise64_64, arm_fadvise64_64, 270, 6)
#define OVERRIDE_TABLE_32_sync_file_range2
TRACE_SYSCALL_TABLE(sync_file_range2, sync_file_range2, 341, 6)
#endif /* CREATE_SYSCALL_TABLE */

View File

@ -0,0 +1,42 @@
#define OVERRIDE_TABLE_32_mmap2
# ifndef CONFIG_UID16
# define OVERRIDE_32_getgroups16
# define OVERRIDE_32_setgroups16
# define OVERRIDE_32_lchown16
# define OVERRIDE_32_getresuid16
# define OVERRIDE_32_getresgid16
# define OVERRIDE_32_chown16
# endif
#ifndef CREATE_SYSCALL_TABLE
#define OVERRIDE_32_pipe
SC_LTTNG_TRACEPOINT_EVENT(pipe,
TP_PROTO(sc_exit(long ret,) int * fildes),
TP_ARGS(sc_exit(ret,) fildes),
TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
sc_out(ctf_user_array(int, fildes, fildes, 2))
)
)
#else /* CREATE_SYSCALL_TABLE */
# ifndef CONFIG_UID16
# define OVERRIDE_TABLE_32_getgroups16
# define OVERRIDE_TABLE_32_setgroups16
# define OVERRIDE_TABLE_32_lchown16
# define OVERRIDE_TABLE_32_getresuid16
# define OVERRIDE_TABLE_32_getresgid16
# define OVERRIDE_TABLE_32_chown16
# endif
#define OVERRIDE_TABLE_32_execve
TRACE_SYSCALL_TABLE(execve, execve, 11, 3)
#define OVERRIDE_TABLE_32_clone
TRACE_SYSCALL_TABLE(clone, clone, 120, 5)
#endif /* CREATE_SYSCALL_TABLE */

View File

@ -0,0 +1,8 @@
/*
* this is a place-holder for arm64 integer syscall definition override.
*/
#ifndef CREATE_SYSCALL_TABLE
#else /* CREATE_SYSCALL_TABLE */
#define OVERRIDE_TABLE_64_mmap
TRACE_SYSCALL_TABLE(mmap, mmap, 222, 6)
#endif /* CREATE_SYSCALL_TABLE */

View File

@ -0,0 +1,9 @@
/*
* this is a place-holder for arm64 integer syscall definition override.
*/
#ifndef CREATE_SYSCALL_TABLE
#else
#define OVERRIDE_TABLE_64_clone
TRACE_SYSCALL_TABLE(clone, clone, 220, 5)
#endif

View File

@ -0,0 +1,11 @@
#ifdef CONFIG_X86_64
#include "x86-32-syscalls-3.1.0-rc6_integers.h"
#endif
#ifdef CONFIG_ARM64
#include "arm-32-syscalls-3.4.25_integers.h"
#endif
#ifdef CONFIG_PPC64
#include "powerpc-32-syscalls-3.0.34_integers.h"
#endif

View File

@ -0,0 +1,11 @@
#ifdef CONFIG_X86_64
#include "x86-32-syscalls-3.1.0-rc6_pointers.h"
#endif
#ifdef CONFIG_ARM64
#include "arm-32-syscalls-3.4.25_pointers.h"
#endif
#ifdef CONFIG_PPC64
#include "powerpc-32-syscalls-3.0.34_pointers.h"
#endif

View File

@ -0,0 +1,3 @@
/*
* this is a place-holder for MIPS integer syscall definition override.
*/

View File

@ -0,0 +1,8 @@
#ifndef CREATE_SYSCALL_TABLE
#else /* CREATE_SYSCALL_TABLE */
#define OVERRIDE_TABLE_32_clone
TRACE_SYSCALL_TABLE(clone, clone, 4120, 0)
#endif /* CREATE_SYSCALL_TABLE */

View File

@ -0,0 +1,3 @@
/*
* this is a place-holder for MIPS integer syscall definition override.
*/

View File

@ -0,0 +1,28 @@
#ifndef CREATE_SYSCALL_TABLE
#define OVERRIDE_32_sched_setaffinity
SC_LTTNG_TRACEPOINT_EVENT(sched_setaffinity,
TP_PROTO(sc_exit(long ret,) pid_t pid, unsigned int len, unsigned long * user_mask_ptr),
TP_ARGS(sc_exit(ret,) pid, len, user_mask_ptr),
TP_FIELDS(sc_exit(ctf_integer(long, ret, ret)) sc_in(ctf_integer(pid_t, pid, pid)) sc_in(ctf_integer(unsigned int, len, len)) sc_in(ctf_integer(unsigned long *, user_mask_ptr, user_mask_ptr)))
)
#define OVERRIDE_32_sched_getaffinity
SC_LTTNG_TRACEPOINT_EVENT(sched_getaffinity,
TP_PROTO(sc_exit(long ret,) pid_t pid, unsigned int len, unsigned long * user_mask_ptr),
TP_ARGS(sc_exit(ret,) pid, len, user_mask_ptr),
TP_FIELDS(sc_exit(ctf_integer(long, ret, ret)) sc_in(ctf_integer(pid_t, pid, pid)) sc_in(ctf_integer(unsigned int, len, len)) sc_out(ctf_integer(unsigned long *, user_mask_ptr, user_mask_ptr)))
)
#else /* CREATE_SYSCALL_TABLE */
#define OVERRIDE_TABLE_32_clone
TRACE_SYSCALL_TABLE(clone, clone, 4120, 0)
#define OVERRIDE_TABLE_32_sys_sched_setaffinity
TRACE_SYSCALL_TABLE(sched_setaffinity, sched_setaffinity, 4239, 3)
#define OVERRIDE_TABLE_32_sys_sched_getaffinity
TRACE_SYSCALL_TABLE(sched_getaffinity, sched_getaffinity, 4240, 3)
#endif /* CREATE_SYSCALL_TABLE */

View File

@ -0,0 +1,3 @@
/*
* this is a place-holder for MIPS integer syscall definition override.
*/

View File

@ -0,0 +1,8 @@
#ifndef CREATE_SYSCALL_TABLE
#else /* CREATE_SYSCALL_TABLE */
#define OVERRIDE_TABLE_64_sys_clone
TRACE_SYSCALL_TABLE(clone, clone, 5055, 0)
#endif /* CREATE_SYSCALL_TABLE */

View File

@ -0,0 +1,72 @@
#ifndef CREATE_SYSCALL_TABLE
#define OVERRIDE_32_mmap2
SC_LTTNG_TRACEPOINT_EVENT(mmap2,
TP_PROTO(sc_exit(unsigned long ret,)
unsigned long addr, unsigned long len,
unsigned long prot, unsigned long flags,
unsigned long fd, unsigned long pgoff),
TP_ARGS(sc_exit(ret,) addr, len, prot, flags, fd, pgoff),
TP_FIELDS(sc_exit(ctf_integer_hex(unsigned long, ret, ret))
sc_in(ctf_integer_hex(unsigned long, addr, addr))
sc_in(ctf_integer(size_t, len, len))
sc_in(ctf_integer(int, prot, prot))
sc_in(ctf_integer(int, flags, flags))
sc_in(ctf_integer(int, fd, fd))
sc_in(ctf_integer(off_t, pgoff, pgoff))
)
)
#if (__BYTE_ORDER == __LITTLE_ENDIAN)
#define OVERRIDE_32_sync_file_range2
SC_LTTNG_TRACEPOINT_EVENT(sync_file_range2,
TP_PROTO(sc_exit(long ret,) int fd,
unsigned int flags,
int32_t offset_low, int32_t offset_high,
int32_t nbytes_low, int32_t nbytes_high),
TP_ARGS(sc_exit(ret,) fd, flags, offset_low, offset_high,
nbytes_low, nbytes_high),
TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
sc_in(ctf_integer(int, fd, fd))
sc_in(ctf_integer(unsigned int, flags, flags))
sc_in(ctf_integer(loff_t, offset,
((loff_t) offset_high << 32) | offset_low))
sc_in(ctf_integer(loff_t, nbytes,
((loff_t) nbytes_high << 32) | nbytes_low))
)
)
#else /* __BIG_ENDIAN */
#define OVERRIDE_32_sync_file_range2
SC_LTTNG_TRACEPOINT_EVENT(sync_file_range2,
TP_PROTO(sc_exit(long ret,) int fd,
unsigned int flags,
int32_t offset_high, int32_t offset_low,
int32_t nbytes_high, int32_t nbytes_low),
TP_ARGS(sc_exit(ret,) fd, flags, offset_high, offset_low,
nbytes_high, nbytes_low),
TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
sc_in(ctf_integer(int, fd, fd))
sc_in(ctf_integer(unsigned int, flags, flags))
sc_in(ctf_integer(loff_t, offset,
((loff_t) offset_high << 32) | offset_low))
sc_in(ctf_integer(loff_t, nbytes,
((loff_t) nbytes_high << 32) | nbytes_low))
)
)
#endif
#else /* CREATE_SYSCALL_TABLE */
#define OVERRIDE_TABLE_32_mmap
TRACE_SYSCALL_TABLE(mmap, mmap, 90, 6)
#define OVERRIDE_TABLE_32_mmap2
TRACE_SYSCALL_TABLE(mmap2, mmap2, 192, 6)
#define OVERRIDE_TABLE_32_sync_file_range2
TRACE_SYSCALL_TABLE(sync_file_range2, sync_file_range2, 308, 6)
#endif /* CREATE_SYSCALL_TABLE */

View File

@ -0,0 +1,22 @@
#define OVERRIDE_TABLE_32_mmap2
#ifndef CREATE_SYSCALL_TABLE
#define OVERRIDE_32_pipe
SC_LTTNG_TRACEPOINT_EVENT(pipe,
TP_PROTO(sc_exit(long ret,) int * fildes),
TP_ARGS(sc_exit(ret,) fildes),
TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
sc_out(ctf_user_array(int, fildes, fildes, 2))
)
)
#else /* CREATE_SYSCALL_TABLE */
#define OVERRIDE_TABLE_32_execve
TRACE_SYSCALL_TABLE(execve, execve, 11, 3)
#define OVERRIDE_TABLE_32_clone
TRACE_SYSCALL_TABLE(clone, clone, 120, 5)
#endif /* CREATE_SYSCALL_TABLE */

View File

@ -0,0 +1,23 @@
#ifdef CONFIG_X86_64
#include "x86-64-syscalls-3.10.0-rc7_integers.h"
#endif
#ifdef CONFIG_X86_32
#include "x86-32-syscalls-3.1.0-rc6_integers.h"
#endif
#ifdef CONFIG_ARM
#include "arm-32-syscalls-3.4.25_integers.h"
#endif
#ifdef CONFIG_PPC
#include "powerpc-32-syscalls-3.0.34_integers.h"
#endif
#ifdef CONFIG_CPU_MIPS32
#include "mips-32-syscalls-3.18.0_integers.h"
#endif
#ifdef CONFIG_ARM64
#include "arm-64-syscalls-4.4.0_integers.h"
#endif

View File

@ -0,0 +1,21 @@
#ifndef CREATE_SYSCALL_TABLE
#define OVERRIDE_32_mmap
#define OVERRIDE_64_mmap
SC_LTTNG_TRACEPOINT_EVENT(mmap,
TP_PROTO(sc_exit(unsigned long ret,)
unsigned long addr, unsigned long len,
unsigned long prot, unsigned long flags,
unsigned long fd, unsigned long off),
TP_ARGS(sc_exit(ret,) addr, len, prot, flags, fd, off),
TP_FIELDS(sc_exit(ctf_integer_hex(unsigned long, ret, ret))
sc_in(ctf_integer_hex(unsigned long, addr, addr))
sc_in(ctf_integer(size_t, len, len))
sc_in(ctf_integer(int, prot, prot))
sc_in(ctf_integer(int, flags, flags))
sc_in(ctf_integer(int, fd, fd))
sc_in(ctf_integer(off_t, offset, off))
)
)
#endif /* CREATE_SYSCALL_TABLE */

View File

@ -0,0 +1,23 @@
#ifdef CONFIG_X86_64
#include "x86-64-syscalls-3.10.0-rc7_pointers.h"
#endif
#ifdef CONFIG_X86_32
#include "x86-32-syscalls-3.1.0-rc6_pointers.h"
#endif
#ifdef CONFIG_ARM
#include "arm-32-syscalls-3.4.25_pointers.h"
#endif
#ifdef CONFIG_PPC
#include "powerpc-32-syscalls-3.0.34_pointers.h"
#endif
#ifdef CONFIG_CPU_MIPS32
#include "mips-32-syscalls-3.18.0_pointers.h"
#endif
#ifdef CONFIG_ARM64
#include "arm-64-syscalls-4.4.0_pointers.h"
#endif

Some files were not shown because too many files have changed in this diff Show More