Apache mod_perl 进程挂起在 futex_wait 状态
我运行一个相当流行的基于浏览器的网页游戏,在 Apache (worker) 和 mod_perl 下运行。在高峰时段,当服务器每分钟处理大约 4200 个请求时,大约每 3-…
分析 Linux 中的同步操作
我想分析同步操作,例如 Linux 中互斥锁、信号量等的锁定和解锁。 我知道在内心深处它们是使用 futexes 实现的,所以也许分析 futexes 的锁定和解锁就…
条件变量的延迟广播唤醒 - 有效吗?
我正在实现 pthread 条件变量(基于 Linux futexes),并且我有一个想法,可以使用进程共享条件变量来避免 pthread_cond_broadcast 上的“踩踏效应”…
Futex 代码演练 - 返回 EFAULT
在Linux内核源代码中futex.c的futex_wake_op函数中,我试图理解控制如何到达this 点。当在上述函数中,futex_atomic_op_inuser 返回时,就会发生这种…
Linux futex 系统调用虚假唤醒并返回值 0?
我遇到了 Linux futex 系统调用(FUTEX_WAIT 操作)的问题,有时似乎毫无原因地提前返回。文档指定了可能导致其提前返回的某些条件(没有 FUTEX_WAKE…
为什么 pthread 互斥体被认为“较慢”?比 futex?
为什么 POSIX 互斥体被认为比 futex 更重或更慢? pthread 互斥类型的开销来自哪里?我听说 pthread 互斥体基于 futexes,并且在无争议时,不要对内核…
小型 OpenMP 程序有时会冻结(gcc、c、linux)
只需编写一个小的 omp 测试,它就不会始终正常工作: #include int main() { int i,j=0; #pragma omp parallel for(i=0;i<1000;i++) { #pragma omp ba…
基于 futex 的 4 字节单写入器/多读取器锁
寻找一个基于 futex 的单写入器/多读取器锁的最小实现,不需要超出单个 4 字节 futex 状态变量的空间开销。 一些背景:我有一个应用程序,它将在数千…
Python 在 futex 调用中挂起
我有一个在生产环境中运行的 Python 守护进程。它使用 7 到 120 个线程。最近,最小的实例(7 个线程)开始显示挂起,而所有其他实例从未显示此类问题…
使用 do_futex 搞砸了?
我收到一个奇怪的错误。我实现了这两个函数: int flag_and_sleep(volatile unsigned int *flag) { int res = 0; (*flag) = 1; res = syscall(__NR_fu…
我可以将基于 futex 的互斥体与 glibc-2.2 linuxthreads 互斥体混合使用吗?
如果您不知道什么是 futex 和 linuxthreads-0.9,请不要回复。 我可以在一个程序中将基于 futex 的互斥体与来自 linuxthreads-0.8 或 -0.9 的互斥体(…
Berkeley DB: 在c api调用中异常退出导致卡在 futex_wait 调用
C开发,使用berkeley db 4.3 (/usr/lib64/libdb-4.3.so) on RHEL5.6 with kernel 2.6.18-238_xen_AMD64.在我的测试中 (写入 1,000,000 key/value pair…
- 共 1 页
- 1