当前位置:  技术问答>linux和unix

threads.h中的关于pid最大值的一段程序

    来源: 互联网  发布时间:2017-04-22

    本文导语:  程序如下: /*  * This controls the default maximum pid allocated to a process  */ #define PID_MAX_DEFAULT (CONFIG_BASE_SMALL ? 0x1000 : 0x8000) /*  * A maximum of 4 million PIDs should be enough for a while.  * [NOTE: PID/TIDs are limited to...

程序如下:

/*
 * This controls the default maximum pid allocated to a process
 */
#define PID_MAX_DEFAULT (CONFIG_BASE_SMALL ? 0x1000 : 0x8000)

/*
 * A maximum of 4 million PIDs should be enough for a while.
 * [NOTE: PID/TIDs are limited to 2^29 ~= 500+ million, see futex.h.]
 */
#define PID_MAX_LIMIT (CONFIG_BASE_SMALL ? PAGE_SIZE * 8 : 
(sizeof(long) > 4 ? 4 * 1024 * 1024 : PID_MAX_DEFAULT))


请问CONFIG_BASE_SMALL ? 0x1000 : 0x8000是什么意思?CONFIG_BASE_SMALL是什么?

|
CONFIG_BASE_SMALL -- 这个应该是为小内存/嵌入式设备使用的,打开这个选项部分内核的核心数据结构会使用较小的值,因此会占用更小的内存。

参考:http://www.spinics.net/lists/newbies/msg39782.html

对于#define PID_MAX_DEFAULT (CONFIG_BASE_SMALL ? 0x1000 : 0x8000)
这个具体的例子来说,也就是表明在打开了CONFIG_BASE_SMALL后,最大的pid只允许到0x1000即4K,而默认情况下为0x8000即32K。

貌似在能看到的系统里都没打开CONFIG_BASE_SMALL这个选项(可以看看自己所用内核的config文件以便确认)。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.lang类thread的类成员方法: thread定义及介绍
  • gcc thread.c -o thread.c -lpthread
  • java命名空间java.lang类thread的类成员方法: max_priority定义及介绍
  • Python中多线程thread与threading的实现方法
  • java命名空间java.lang枚举thread.state的类成员方法: new定义及介绍
  • C#利用System.Threading.Thread.Sleep即时输出信息的详解
  • java命名空间java.lang枚举thread.state的类成员方法: terminated定义及介绍
  • 请教关于Thread类执行的问题
  • java命名空间java.lang类thread的类成员方法: getdefaultuncaughtexceptionhandler定义及介绍
  • [求助]请问一下关于Thread的问题
  • java命名空间java.lang类thread的类成员方法: getstate定义及介绍
  • 关于GLib Thread Pool的使用问题
  • java命名空间java.lang枚举thread.state的类成员方法: runnable定义及介绍
  • Java Thread
  • java命名空间java.lang枚举thread.state的类成员方法: timed_waiting定义及介绍
  • 急!为什么我没有thread.h文件?
  • java命名空间java.lang枚举thread.state的类成员方法: waiting定义及介绍
  • SCJP模拟题 about Thread
  • java命名空间java.lang.management类managementfactory的类成员方法: thread_mxbean_name定义及介绍
  • 有高手研究Agent++麽?里面有个thread.h,蛮难读的,请高手指点
  • java命名空间java.lang类thread的类成员方法: run定义及介绍
  • 用kthread_run创建kernel thread, 能不能限制线程的数目?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,