You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
doc(kb): update knowledge graph wiki, summary and top-level README for adapter/syscall
Update the supporting knowledge-base documents in docs/ and
docs/zh_cn/ so they stay aligned with adapter/syscall/README.md and
the freshly updated L1/L2 architecture docs.
- docs/KNOWLEDGE_GRAPH_WIKI.md and the zh_cn counterpart:
Expand Section 5.2 'Adapter Layer' from a four-row mini-table
into a more complete file inventory of adapter/syscall/ that
covers ff_hook_syscall.c/.h, ff_linux_syscall.c,
ff_declare_syscalls.h, ff_socket_ops.c/.h, ff_sysproto.h,
ff_so_zone.c, ff_event.c, ff_epoll.c, ff_ring_ops.c/.h and
Makefile, and add a short paragraph describing the two-process
LD_PRELOAD model and the FF_KERNEL_EVENT / FF_MULTI_SC /
FF_USE_RING_IPC switches.
- docs/F-Stack_Knowledge_Base_Summary.md and the zh_cn counterpart:
Augment the 'LD_PRELOAD integration method' bullet and the
'Application Integration' learning-path entry with concrete
keywords (libff_syscall.so, fork, accept4, __recv_chk, epoll
polling mode, FF_USE_RING_IPC ring IPC) and a reference to
adapter/syscall/README.md.
- docs/README.md and the zh_cn counterpart:
Tighten the source-tree comment for adapter/ to mention both
micro_thread and syscall, and to call out that the syscall
subdirectory builds libff_syscall.so for LD_PRELOAD.
No structural / TOC changes; only inline updates pointing at
adapter/syscall/README.md as the single source of truth. Line endings
normalized to LF.
Copy file name to clipboardExpand all lines: docs/KNOWLEDGE_GRAPH_WIKI.md
+19-4Lines changed: 19 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -240,12 +240,27 @@ f-stack/
240
240
241
241
### 5.2 Adapter Layer (`adapter/`)
242
242
243
+
The `adapter/syscall/` directory builds two binaries — `libff_syscall.so` (preloaded
244
+
into the user application) and a standalone `fstack` instance — that together
245
+
implement the LD_PRELOAD path. Key files:
246
+
243
247
| File | Responsibility |
244
248
|------|---------------|
245
-
|`syscall/ff_hook_syscall.c`| LD_PRELOAD system call interception (3254 lines) |
246
-
|`syscall/ff_socket_ops.h` / `.c`| Socket operation context and handling |
247
-
|`syscall/ff_so_zone.c`| Shared memory zone management |
248
-
|`syscall/ff_epoll.c`| Epoll adaptation |
249
+
|`syscall/ff_hook_syscall.c` / `.h`| LD_PRELOAD POSIX hooks: `socket/bind/connect/accept/accept4/listen/close/read/write/send*/recv*/__read_chk/__recv_chk/__recvfrom_chk/ioctl/epoll_*/fork` etc., dispatched to ff_* via shared memory |
250
+
|`syscall/ff_linux_syscall.c` / `ff_declare_syscalls.h`| Linux-flag to FreeBSD-flag translation (e.g. `LINUX_SOCK_CLOEXEC`, `LINUX_SOCK_NONBLOCK`) and hook declarations |
251
+
|`syscall/ff_socket_ops.h` / `.c`| Per-socket operation context (`sc`) and the producer/consumer dispatch logic between the application and the fstack instance |
0 commit comments