使TLB的所有项失效 --- __flush_tlb_all()

# define __flush_tlb_all()                  do ...{                                        if (cpu_has_pge)                            __flush_tlb_gl...

2007-01-16 16:04:00

阅读数:2435

评论数:0

switch_mm()

switch_mm()进行用户空间的切换,更确切地说,是切换地址转换表(pgd),由于pgd包括进程系统空间(0xc000 0000 ~ 0xffff ffff)和用户空间(0x0000 0000 ~ 0xbfff ffff)的地址映射,但是由于所有进程的系统空间的地址映射都是相同的。所以实质上就...

2007-01-16 10:03:00

阅读数:3977

评论数:2

alloc_bootmem_low_pages()

从ZONE_DMA分配x数量的字节#define alloc_bootmem_low_pages(x)     __alloc_bootmem_node(NODE_DATA(0), (x), PAGE_SIZE, 0)void * __init __alloc_bootmem_node (pg_d...

2007-01-15 17:21:00

阅读数:2336

评论数:0

one_page_table_init()

pagetable_init() --> kernel_physical_mapping_init() --> one_page_table_init()one_page_table_init(pmd_t *pmd)初始化pmd索引的页表项(将该项索引的物理页面的首地址填写到pmd中)...

2007-01-15 17:14:00

阅读数:1529

评论数:0

one_md_table_init()

直接返回pgd所指向的页目录表项static pmd_t * __init one_md_table_init(pgd_t *pgd){    pud_t *pud;    pmd_t *pmd_table;#ifdef CONFIG_X86_PAE    pmd_table = (pmd_t *...

2007-01-15 17:04:00

阅读数:2456

评论数:0

pgd_index()

pgd_index(PAGE_OFFSET)pgd_index(0xC0000000) = 768根据线性地址address,计算该地址所对应的页目录表项:#define pgd_index(address) (((address) >> PGDIR_SHIFT) & (PTR...

2007-01-15 16:58:00

阅读数:3077

评论数:0

pfn_pte()

pfn_pte(pfn, prot)根据prot加工第pfn物理页所对应的页表项内容#define pfn_pte(pfn, prot)  __pte(((pfn) #define PAGE_SHIFT  12#define pgprot_val(x)   ((x).pgprot)

2007-01-15 16:49:00

阅读数:2089

评论数:0

set_pte()

将pteval写入pteptr所指的页表项中:#define set_pte(pteptr, pteval) (*(pteptr) = pteval) 

2007-01-15 16:44:00

阅读数:2542

评论数:0

kernel_physical_mapping_init()

pagetable_init() --> kernel_physical_mapping_init()static void __init kernel_physical_mapping_init(pgd_t *pgd_base){    unsigned long pfn;    pgd_...

2007-01-15 16:40:00

阅读数:3070

评论数:2

pagetable_init()

pagetable_init()根据物理内存初始化页目录项及页表项static void __init pagetable_init (void)...{    unsigned long vaddr;    pgd_t *pgd_base = swapper_pg_dir;#ifdef CONF...

2007-01-15 16:36:00

阅读数:2669

评论数:0

paging_init()

当RAM小于896MB时,初始化主内核页全局目录表--最终内核页表void __init paging_init(void){#ifdef CONFIG_X86_PAE    set_nx();    if (nx_enabled)        printk("NX (Execute ...

2007-01-15 16:32:00

阅读数:2186

评论数:0

preempt_count()

#define preempt_count() (current_thread_info()->preempt_count)#define PREEMPT_ACTIVE  0x1000000000001 0000 0000 0000 0000 0000 0000 0000 (2)struct...

2007-01-13 09:46:00

阅读数:2262

评论数:0

NS_MAX_SLEEP_AVG; JIFFIES_TO_NS; MAX_SLEEP_AVG

纳秒级最长睡眠时间为1000 000 000nsNS_MAX_SLEEP_AVG = 1000 * 1000 000 = 1000 000 000ns--------------------------------------#define NS_MAX_SLEEP_AVG    (JIFFIES...

2007-01-13 09:44:00

阅读数:1982

评论数:0

list_del()

从entry所在的双向链表中将entry删除:static inline void list_del(struct list_head *entry)...{    __list_del(entry->prev, entry->next);    entry->next = LI...

2007-01-12 20:04:00

阅读数:6409

评论数:0

dequeue_task()

将进程p从优先级数组array(优先级数组array的某个元素[array->queue + p->prio]所代表的优先级队列)中删除;查看[array->queue + p->prio]所代表的优先级队列中是否还有活跃进程,如果没有将要清除优先级位图bitmap[]st...

2007-01-12 17:53:00

阅读数:2139

评论数:1

requeue_task()

将进程p从优先级数组array(优先级数组array的某个元素[array->queue + p->prio]所代表的优先级队列) 中删除,并将其插入该队列的尾部static void requeue_task(struct task_struct *p, prio_array_t *...

2007-01-12 17:48:00

阅读数:1264

评论数:0

__list_del()

将prev和next之间的list_head从链表中删除:static inline void __list_del(struct list_head * prev, struct list_head * next)...{    next->prev = prev;    prev->...

2007-01-12 17:36:00

阅读数:1973

评论数:0

list_add_tail()

将new所代表的list_head插入head所索引的队列的尾部static inline void list_add_tail(struct list_head *new, struct list_head *head)...{    __list_add(new, head->prev,...

2007-01-12 17:29:00

阅读数:22802

评论数:0

NICE_TO_PRIO

用nice计算static_prio:#define NICE_TO_PRIO(nice)   (MAX_RT_PRIO + (nice) + 20)#define MAX_RT_PRIO          MAX_USER_RT_PRIO#define MAX_USER_RT_PRIO     ...

2007-01-12 17:24:00

阅读数:1272

评论数:0

task_timeslice()

根据进程p的静态优先级static_prio计算该进程的时间片(根据下面公式计算时间片)static inline unsigned int task_timeslice(task_t *p)...{    if (p->static_prio  NICE_TO_PRIO(0))      ...

2007-01-12 17:20:00

阅读数:1824

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭