我目前正在研究WiFI的内核源代码(net / mac80211) (三星的Galaxy S3 --- GT-I9300 ---内核)
我已经看到了如下代码:
/*
* Scanning implementation
*
* Copyright 2003, Jouni Malinen <jkmaline@cc.hut.fi>
* Copyright 2004, Instant802 Networks, Inc.
* Copyright 2005, Devicescape Software, Inc.
* Copyright 2006-2007 Jiri Benc <jbenc@suse.cz>
* Copyright 2007, Michael Wu <flamingice@sourmilk.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/if_arp.h>
#include <linux/rtnetlink.h>
#include <linux/pm_qos_params.h>
#include <net/sch_generic.h>
#include <linux/slab.h>
#include <net/mac80211.h>
#include "ieee80211_i.h"
#include "driver-ops.h"
#include "mesh.h"
#define IEEE80211_PROBE_DELAY (HZ / 33)
#define IEEE80211_CHANNEL_TIME (HZ / 33)
#define IEEE80211_PASSIVE_CHANNEL_TIME (HZ / 8)
在代码的底部,它定义了关于变量'HZ'的PROBE_DELAY,CHANNEL_TIME,PASSIVE_CHANNEL_TIME
因此,我输入grep -r "HZ" ./ >> ~/grep_result
来查找定义HZ的位置。
但是,结果是,没有HZ的定义,宣言。
我在哪里可以找到HZ的确切值?
如果我找到HZ值,单位度量是多少?
答案 0 :(得分:3)
HZ通常定义为CONFIG_HZ
。 CONFIG_HZ是在make config
进程
通用定义在
中包括/ ASM-通用/ param.h;
特定于体系结构的定义在
中arch // include / asm / param.h
往往只是将其定义为CONFIG_HZ
;请注意,您可能会在
arch // include / asm / uapi / param.h
内核不使用HZ的这些定义,它们是用户空间API接口值;
希望这有帮助。