在 AIX 中,可以从中断环境中调用哪些内存分配函数?



xmalloc只有在编写AIX内核扩展时才能在进程环境中使用。

在AIX中,可以从中断环境中调用哪些内存分配函数?

谢谢。

网络内存分配例程。在/usr/include/net/net_malloc.h中查找。最低级别是net_malloc和net_free。

我在IBM的酒吧和互联网上都看不到太多的文档。在各种头文件中都有一些示例。

没有公开的原型,我可以找到这些。

如果你在net_malloc.h中查看,你会看到定义了调用它的malloc和net_malloc宏。然后,如果你在/usr/include下的所有文件中进行grep,你会发现这些宏的使用。通过这些用法,您可以推断出宏的参数,从而推断出net_malloc本身的参数。我会制作一个例程,它是对net_malloc的传递,您可以控制它与.的接口

在您的目标系统上,执行"netstat-m"。您看到的最后一个bucket大小将是您可以使用M_NOWAIT标志调用net_malloc的最大大小。M_WAIT只能在进程时使用,并在必要时等待netm分配更多内存。如果没有足够的内存固定,M_NOWAIT将返回0。在中断时间,必须使用M_NOWAIT。

没有对"类型"进行真正的检查,但为了以后的调试目的,最好选择一个合适的类型。kdb的netm输出显示了该类型。

以类似的方式,您可以找到如何调用net_free。

可悲的是,IBM选择不记录这一点。正式获得这些信息的另一种选择是为"ISV"问题付费。如果您正在进行严肃的AIX开发,那么您希望成为ISV/Partner。这会让你省心很多。我不知道成本,但小公司甚至个人都能负担得起。

这本书也很好。

最新更新