logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Python多线程(1)

开发多线程的应用系统,是在日常的软件开发中经常会遇到的需求。现在的编程语言都为多线程开发提供了很好的支持,无论是通过库的支持还是将多线程机制内建在语言之中。Python 也为多线程系统的开发提供了很好的支持。同样身为动态语言,Ruby 也提供了多线程的支持,但是在Ruby 1.9 之前的多线程机制是在语言的实现中模拟了线程及线程调度机制,而并没有使用操作系统本身的线程机制(在以后的描述中,我们称为

#python#ruby#虚拟机
xen网络前端驱动代码分析(接收篇)

我们以RHEL6的xen netfront前端驱动为例。RHEL5的前端驱动,有一个acceleration的特性,是由一家叫solarflare的公司为其网卡定制的plugin,基本架构就是直接从网卡拿了包扔给虚拟机,不经过网桥,当然这需要前端后端都要支持这个acceleration feature。感兴趣的可以去看这篇文章http://www.tecnologika.co.uk/wp-co

netback再分析

以konrad的dom0 tree ( http://git.kernel.org/cgit/linux/kernel/git/konrad/xen.git/ ) 为base tree,分析下netback这两年的代码变化和相应patch首先一个比较大的变化在于netback不再依赖xen foreign page这个feature。我之前的文章 http://blog.csdn.net/ma

linux内核网络协议栈学习笔记(6)

本篇讨论IP包的收发(暂不包括路由)先来看inet_init,首先是调用proto_register,注册了tcp_prot, udp_prot, raw_prot,其中proto_register前半部分是初始化各种slab_cache,后半部分把这些struct proto结构链到proto_list里其次调用sock_register,内核有一个全局的net_proto_fami

linux内核网络协议栈学习笔记:vlan

这篇是我临时加的,本来不打算放在整个内核协议栈分析的系列里的,但我现在觉得vlan还是蛮重要的,而且讨论vlan源码的文章很少,不知道我这篇算不算第一篇 :Dvlan的代码都在net/8021q/的内核目录下,首先我们来看8021q模块 (net/8021q/vlan.c)vlan_proto_init , vlan_cleanup_module 是模块的init/exit函数,我们来看v

linux通过tc控制网络QoS(1)

tc是linux traffic control的简称,原理是在协议栈出包的时候,通过qdisc (Queue Discipline)和 filter 机制把不同规则定义的流放到不同class的子qdisc中(对于classful qdisc是这样,对于classless qdisc只有一个root qdisc)。网上关于tc的资料很多,本篇不去讨论tc的各种qdisc, class, filte

#linux#网络
linux内核网络协议栈学习笔记:关于GRO/GSO/LRO/TSO等patch的分析和测试

TSO,全称是TCP Segmentation Offload,我们知道通常以太网的MTU是1500,除去TCP/IP的包头,TCP的MSS (Max Segment Size)大小是1460,通常情况下协议栈会对超过1460的TCP payload进行segmentation,保证生成的IP包不超过MTU的大小,但是对于支持TSO/GSO的网卡而言,就没这个必要了,我们可以把最多64K大小的TC

linux的qos机制 - cgroup篇 (2)

这篇重点讲述cgroup如何控制blkio子系统的qos,首先看下设置blkio.weight blkio.weight_device 我的理解是blkio.weight是整个io子系统的权重值,而blkio.weight_device是针对特定的 major:minor 设备的权重blkio.throttle.read_bps_device blkio.throttle.write_bp

#linux#虚拟机
linux的qos机制 - cgroup篇 (4)

下面来看各个子系统对cgroup的支持,第一篇先研究blkio子系统blkio子系统支持三种类型的QoS控制:blkio.weight, blkio.weight_device:这些是基于设备权重值的控制方式blkio.throttle.read_bps_device,blkio.throttle.write_bps_device:这些是基于带宽的控制方式blkio.throttl

#linux
linux内核网络协议栈学习笔记(7)

本篇继续讨论IP包的收发ip_local_deliver:ip_local_deliver用来把数据包接收到本地,代码很短/*   *  Deliver IP Packets to the higher protocol layers. */ int ip_local_deliver(struct sk_buff *skb){       /*     *  R

    共 11 条
  • 1
  • 2
  • 请选择