Commit 25f00e4
committed
tracing/probes: Support $argN in return probe (kprobe and fprobe)
Support accessing $argN in the return probe events. This will help users to
record entry data in function return (exit) event for simplfing the function
entry/exit information in one event, and record the result values (e.g.
allocated object/initialized object) at function exit.
For example, if we have a function `int init_foo(struct foo *obj, int param)`
sometimes we want to check how `obj` is initialized. In such case, we can
define a new return event like below;
# echo 'r init_foo retval=$retval param=$arg2 field1=+0($arg1)' >> kprobe_events
Thus it records the function parameter `param` and its result `obj->field1`
(the dereference will be done in the function exit timing) value at once.
This also support fprobe, BTF args and'$arg*'. So if CONFIG_DEBUG_INFO_BTF
is enabled, we can trace both function parameters and the return value
by following command.
# echo 'f target_function%return $arg* $retval' >> dynamic_events
Link: https://lore.kernel.org/all/170952365552.229804.224112990211602895.stgit@devnote2/
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>1 parent c18f9ea commit 25f00e4
File tree
10 files changed
+289
-62
lines changed- kernel/trace
- tools/testing/selftests/ftrace/test.d
- dynevent
- kprobe
10 files changed
+289
-62
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5755 | 5755 | | |
5756 | 5756 | | |
5757 | 5757 | | |
| 5758 | + | |
5758 | 5759 | | |
5759 | 5760 | | |
5760 | 5761 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
390 | 390 | | |
391 | 391 | | |
392 | 392 | | |
393 | | - | |
394 | | - | |
| 393 | + | |
| 394 | + | |
395 | 395 | | |
396 | 396 | | |
397 | 397 | | |
| |||
438 | 438 | | |
439 | 439 | | |
440 | 440 | | |
441 | | - | |
| 441 | + | |
442 | 442 | | |
443 | 443 | | |
444 | 444 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| |||
129 | 130 | | |
130 | 131 | | |
131 | 132 | | |
132 | | - | |
133 | | - | |
| 133 | + | |
| 134 | + | |
134 | 135 | | |
135 | 136 | | |
136 | 137 | | |
| |||
152 | 153 | | |
153 | 154 | | |
154 | 155 | | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
155 | 159 | | |
156 | 160 | | |
157 | 161 | | |
| |||
184 | 188 | | |
185 | 189 | | |
186 | 190 | | |
187 | | - | |
| 191 | + | |
188 | 192 | | |
189 | 193 | | |
190 | 194 | | |
| |||
194 | 198 | | |
195 | 199 | | |
196 | 200 | | |
197 | | - | |
| 201 | + | |
198 | 202 | | |
199 | 203 | | |
200 | 204 | | |
| |||
211 | 215 | | |
212 | 216 | | |
213 | 217 | | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
214 | 231 | | |
215 | 232 | | |
216 | 233 | | |
217 | | - | |
| 234 | + | |
218 | 235 | | |
219 | 236 | | |
220 | 237 | | |
| |||
227 | 244 | | |
228 | 245 | | |
229 | 246 | | |
230 | | - | |
| 247 | + | |
231 | 248 | | |
232 | 249 | | |
233 | 250 | | |
| |||
238 | 255 | | |
239 | 256 | | |
240 | 257 | | |
241 | | - | |
| 258 | + | |
242 | 259 | | |
243 | 260 | | |
244 | 261 | | |
245 | 262 | | |
246 | 263 | | |
247 | 264 | | |
248 | | - | |
| 265 | + | |
249 | 266 | | |
250 | 267 | | |
251 | 268 | | |
252 | 269 | | |
253 | | - | |
| 270 | + | |
254 | 271 | | |
255 | 272 | | |
256 | 273 | | |
| |||
269 | 286 | | |
270 | 287 | | |
271 | 288 | | |
272 | | - | |
| 289 | + | |
273 | 290 | | |
274 | 291 | | |
275 | 292 | | |
| |||
280 | 297 | | |
281 | 298 | | |
282 | 299 | | |
283 | | - | |
| 300 | + | |
284 | 301 | | |
285 | 302 | | |
286 | 303 | | |
| |||
289 | 306 | | |
290 | 307 | | |
291 | 308 | | |
292 | | - | |
| 309 | + | |
| 310 | + | |
293 | 311 | | |
294 | 312 | | |
295 | 313 | | |
| |||
301 | 319 | | |
302 | 320 | | |
303 | 321 | | |
304 | | - | |
| 322 | + | |
305 | 323 | | |
306 | 324 | | |
307 | 325 | | |
| |||
312 | 330 | | |
313 | 331 | | |
314 | 332 | | |
315 | | - | |
| 333 | + | |
316 | 334 | | |
317 | 335 | | |
318 | 336 | | |
| |||
343 | 361 | | |
344 | 362 | | |
345 | 363 | | |
346 | | - | |
| 364 | + | |
347 | 365 | | |
348 | 366 | | |
349 | | - | |
| 367 | + | |
350 | 368 | | |
351 | 369 | | |
352 | 370 | | |
| |||
1109 | 1127 | | |
1110 | 1128 | | |
1111 | 1129 | | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
1112 | 1135 | | |
1113 | 1136 | | |
1114 | 1137 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
740 | 740 | | |
741 | 741 | | |
742 | 742 | | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
743 | 746 | | |
744 | 747 | | |
745 | 748 | | |
| |||
948 | 951 | | |
949 | 952 | | |
950 | 953 | | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
951 | 959 | | |
952 | 960 | | |
953 | 961 | | |
| |||
1303 | 1311 | | |
1304 | 1312 | | |
1305 | 1313 | | |
1306 | | - | |
1307 | | - | |
| 1314 | + | |
| 1315 | + | |
1308 | 1316 | | |
1309 | 1317 | | |
1310 | 1318 | | |
| |||
1329 | 1337 | | |
1330 | 1338 | | |
1331 | 1339 | | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
1332 | 1343 | | |
1333 | 1344 | | |
1334 | 1345 | | |
| |||
1359 | 1370 | | |
1360 | 1371 | | |
1361 | 1372 | | |
1362 | | - | |
| 1373 | + | |
1363 | 1374 | | |
1364 | 1375 | | |
1365 | 1376 | | |
| |||
1368 | 1379 | | |
1369 | 1380 | | |
1370 | 1381 | | |
1371 | | - | |
| 1382 | + | |
1372 | 1383 | | |
1373 | 1384 | | |
1374 | 1385 | | |
| |||
1384 | 1395 | | |
1385 | 1396 | | |
1386 | 1397 | | |
| 1398 | + | |
| 1399 | + | |
| 1400 | + | |
| 1401 | + | |
| 1402 | + | |
| 1403 | + | |
| 1404 | + | |
| 1405 | + | |
| 1406 | + | |
| 1407 | + | |
| 1408 | + | |
| 1409 | + | |
| 1410 | + | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + | |
| 1414 | + | |
| 1415 | + | |
| 1416 | + | |
| 1417 | + | |
| 1418 | + | |
| 1419 | + | |
| 1420 | + | |
| 1421 | + | |
| 1422 | + | |
1387 | 1423 | | |
1388 | 1424 | | |
1389 | 1425 | | |
| |||
1399 | 1435 | | |
1400 | 1436 | | |
1401 | 1437 | | |
1402 | | - | |
| 1438 | + | |
1403 | 1439 | | |
1404 | 1440 | | |
1405 | 1441 | | |
| |||
1409 | 1445 | | |
1410 | 1446 | | |
1411 | 1447 | | |
1412 | | - | |
| 1448 | + | |
1413 | 1449 | | |
1414 | 1450 | | |
1415 | 1451 | | |
| |||
1557 | 1593 | | |
1558 | 1594 | | |
1559 | 1595 | | |
1560 | | - | |
| 1596 | + | |
1561 | 1597 | | |
1562 | 1598 | | |
1563 | 1599 | | |
| |||
1568 | 1604 | | |
1569 | 1605 | | |
1570 | 1606 | | |
1571 | | - | |
| 1607 | + | |
1572 | 1608 | | |
1573 | 1609 | | |
1574 | 1610 | | |
| |||
1593 | 1629 | | |
1594 | 1630 | | |
1595 | 1631 | | |
1596 | | - | |
| 1632 | + | |
1597 | 1633 | | |
1598 | 1634 | | |
1599 | 1635 | | |
| |||
1604 | 1640 | | |
1605 | 1641 | | |
1606 | 1642 | | |
1607 | | - | |
| 1643 | + | |
1608 | 1644 | | |
1609 | 1645 | | |
1610 | 1646 | | |
| |||
0 commit comments