| 1437 | |
| 1438 | #ifdef CONFIG_SCHED_INSTRUMENTATION_HEAP |
| 1439 | void sched_note_heap(uint8_t event, FAR void *heap, FAR void *mem, |
| 1440 | size_t size, size_t used) |
| 1441 | { |
| 1442 | FAR struct note_driver_s **driver; |
| 1443 | struct note_heap_s note; |
| 1444 | bool formatted = false; |
| 1445 | FAR struct tcb_s *tcb = this_task(); |
| 1446 | |
| 1447 | for (driver = g_note_drivers; *driver; driver++) |
| 1448 | { |
| 1449 | if (!note_isenabled(*driver)) |
| 1450 | { |
| 1451 | continue; |
| 1452 | } |
| 1453 | |
| 1454 | if (note_heap(*driver, event, heap, mem, size, used)) |
| 1455 | { |
| 1456 | continue; |
| 1457 | } |
| 1458 | |
| 1459 | if ((*driver)->ops->add == NULL) |
| 1460 | { |
| 1461 | continue; |
| 1462 | } |
| 1463 | |
| 1464 | if (!formatted) |
| 1465 | { |
| 1466 | formatted = true; |
| 1467 | note_common(tcb, ¬e.nhp_cmn, sizeof(note), event); |
| 1468 | note.heap = heap; |
| 1469 | note.mem = mem; |
| 1470 | note.size = size; |
| 1471 | note.used = used; |
| 1472 | } |
| 1473 | |
| 1474 | /* Add the note to circular buffer */ |
| 1475 | |
| 1476 | note_add(*driver, ¬e, sizeof(note)); |
| 1477 | } |
| 1478 | } |
| 1479 | #endif |
| 1480 | |
| 1481 | #ifdef CONFIG_SCHED_INSTRUMENTATION_DUMP |
no test coverage detected