首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Linux 多核下绑定硬件中断到不同 CPU

VPSee 前天收到一位网友的邮件提到了 SMP IRQ Affinity,引发了今天的话题:D,以下操作在 SUN FIre X2100 M2 服务器+ 64位版本 CentOS 5.5 + Linux...光有高级可编程中断控制器的硬件支持还不够,Linux 内核还必须能利用到这些硬件特质,所以只有 kernel 2.4 以后的版本才支持把不同的硬件中断请求(IRQs)分配到特定的 CPU 上,这个绑定技术被称为...更多介绍请参看 Linux 内核源代码自带的文档:linux-2.6.31.8/Documentation/IRQ-affinity.txt 如何使用 先看看系统上的中断是怎么分配在 CPU 上的,很显然...timer 1: 2 0 IO-APIC-edge i8042 8: 0 0 IO-APIC-edge...VPSee 经常收到网友来信问到如何优化 Linux、优化 VPS、这个问题不太好回答,要记住的是性能优化是一个过程而不是结果,不是看了些文档改了改参数就叫优化了,后面还需要大量的测试、监测以及持续的观察和改进

5.3K83

Linux 内核 内存管理】Linux 内核内存布局 ① ( 查看 Linux 操作系统位数 | 查看 Linux 操作系统软硬件信息 )

文章目录 一、查看 Linux 操作系统位数 二、查看 Linux 操作系统软硬件信息 一、查看 Linux 操作系统位数 ---- 在 64 位的 Linux 中 , 使用 48 位 表示 "...得到结果 64 , 说明该系统是 64 位 Ubuntu Linux 操作系统 ; 二、查看 Linux 操作系统软硬件信息 ---- 执行 cat /proc/cpuinfo 命令 , 可以查看...fpu : yes fpu_exception : yes cpuid level : 22 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic...nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic...nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic

31.6K20

Linux中断机制:硬件处理,初始化和中断处理

来源: CSDN | phenix_lord的专栏 硬件处理 最近解决一个关于Linux中断的问题,把相关机制整理了一遍,记录在此。...不同的外部设备、不同的体系结构、不同的OS其中断实现机制都有差别,本文对应的OS为linux3.4版本,外部设备为PCI设备、系统为X86。...对这部分内容,《interrupt in linux》有详细的描述。...对应I/O APIC和local APIC的组合,其连接方式见下图 ? 针对X86中断控制器硬件和linux对这些硬件的初始化,在《interrupt in linux》中有很详细的描述。...》 除了中断路由表,其它两种机制的初始化(包括相关中断路由信息的初始化)的在《interrupt in linux》中有很详细的描述。

7.7K30

Linux内核17-硬件如何处理中断和异常

x86架构中,每个处理器包含自己的APIC,每个APIC具有32位的寄存器,内部时钟,内部定时器以及2个额外的IRQ线,LINT0和LINT1,用作APIC的中断。...所有私有的APIC都连接到I/O-APIC,组成一个多APIC系统。 图4-1展示了一个多APIC系统的原理图。I/O-APIC通过APIC总线和各个APIC连接在一起。...I/O-APIC相等于一个中继的角色。 图4-1 多APIC系统 I/O-APIC由24条中断线,中断重定向表,可编程寄存器和一个通过APIC总线收发数据的消息单元组成。...然后通过APIC总线发送给目标APIC,该APIC就会给自己的CPU发送一个相应的中断。 CPU间的中断(简称IPI)是多核系统一个重要组成部分。Linux有效地利用它们,在CPU之间传递消息。...其实对于Linux来说,只使用了supervisor和user两种特权等级。所以中断应该都是在supervisor特权等级下运行。

2K10

linux time和kvm time虚拟化综述

linux time linux对时间有两种需求: 第一就是获取当前时间,就像人想知道时间时看墙上挂的时钟一样,简称clock,如time()/ftime()/gettimeofday()/data()...clock软件是无法实现的,只能是硬件实现,硬件增加一个counter寄存器,周期性增加,软件想获取当前时间,读一下这个寄存器就行,linux把这个counter称为clocksource,比如这台服务器就有三个...看x86代码,linux初始化这些硬件设备,注册中断,中断处理中都调用到event_handler,简单理解为tick模块注册的函数,调用到tick的这个函数,它负责处理软件定时器,进行进程时间片计算等...); evt->event_handler(evt); } /* * Local APIC timer interrupt....再考虑一些问题,有全局hpet和局部local apic timer,cpu会用哪个呢?hpet中断哪个cpu处理?其它cpu收不到这个中断怎么tick呢?软件定时器是全局的还是局部的?

2.6K30

linux time和kvm time虚拟化综述

linux time linux对时间有两种需求: 第一就是获取当前时间,就像人想知道时间时看墙上挂的时钟一样,简称clock,如time()/ftime()/gettimeofday()/data()...clock软件是无法实现的,只能是硬件实现,硬件增加一个counter寄存器,周期性增加,软件想获取当前时间,读一下这个寄存器就行,linux把这个counter称为clocksource,比如这台服务器就有三个...看x86代码,linux初始化这些硬件设备,注册中断,中断处理中都调用到event_handler,简单理解为tick模块注册的函数,调用到tick的这个函数,它负责处理软件定时器,进行进程时间片计算等...); evt->event_handler(evt); } /* * Local APIC timer interrupt....再考虑一些问题,有全局hpet和局部local apic timer,cpu会用哪个呢?hpet中断哪个cpu处理?其它cpu收不到这个中断怎么tick呢?软件定时器是全局的还是局部的?

3K00
领券