svc · unix #512
__channel_sync
Synchronise un canal Skywalk avec le noyau, publiant les emplacements produits et récupérant ceux qui sont complétés.
Prototype
int __channel_sync(int c, int mode, int flags);Retour: int
Arguments
| Name | Type | Dir | Description |
|---|---|---|---|
| c | int | - | |
| mode | int | - | |
| flags | int | - |
Historique des versions
| XNU tag | macOS | # |
|---|---|---|
| xnu-8792.41.9 | macOS 13.0 Ventura | 512 |
| xnu-10002.1.13 | macOS 14.0 Sonoma | 512 |
| xnu-11215.1.10 | macOS 15.0 Sequoia | 512 |
| xnu-11417.101.15 | macOS 15.4 Sequoia | 512 |
| xnu-12377.1.9 | macOS 26.0 Tahoe | 512 |
| xnu-10002.41.9 | — | 512 |
| xnu-10002.61.3 | — | 512 |
| xnu-10002.81.5 | — | 512 |
| xnu-10063.101.15 | — | 512 |
| xnu-10063.121.3 | — | 512 |
| xnu-10063.141.1 | — | 512 |
| xnu-11215.41.3 | — | 512 |
| xnu-11215.61.5 | — | 512 |
| xnu-11215.81.4 | — | 512 |
| xnu-11417.121.6 | — | 512 |
| xnu-11417.140.69 | — | 512 |
| xnu-12377.101.15 | — | 512 |
| xnu-12377.41.6 | — | 512 |
| xnu-12377.61.12 | — | 512 |
| xnu-12377.81.4 | — | 512 |
| xnu-8019.80.24 | — | 512 |
| xnu-8020.101.4 | — | 512 |
| xnu-8020.121.3 | — | 512 |
| xnu-8020.140.41 | — | 512 |
| xnu-8792.61.2 | — | 512 |
| xnu-8792.81.2 | — | 512 |
| xnu-8796.101.5 | — | 512 |
| xnu-8796.121.2 | — | 512 |
| xnu-8796.141.3 | — | 512 |
Notes
L'appel système de chemin chaud de Skywalk : après avoir écrit les métadonnées de paquets dans les anneaux en mémoire partagée, l'espace utilisateur appelle __channel_sync pour remettre les emplacements au nexus, et relit les indices de complétion pour l'anneau rx. Conceptuellement similaire au submit/complete d'io_uring sous Linux ou aux NIOCTXSYNC/NIOCRXSYNC de netmap. Network.framework d'Apple groupe des dizaines de paquets par appel pour amortir le coût.
Détection
La visibilité paquet par paquet appartient à l'opérateur du nexus (noyau) ou à une extension réseau DriverKit accrochée au même nexus. ES est aveugle ici.