Linux graphics stack】的更多相关文章

2D图形架构 早期Linux图形系统的显示全部依赖X Server,X Client调用Xlib提供的借口向 X Server发送渲染命令,X Server根据 X Client的命令请求向硬件设备绘制图形,X Client与X Server之间通过X11协议通讯.通过这种方式,X Server屏蔽了所有的硬件差异,保证同一个X程序能够在不同的硬件设备上运行. X Server需要与多种多样的硬件打交道,每个硬件提供自己的DDX驱动程序,X Server最后调用DDX的接口将图形发送给硬件设备.…
http://blog.packagecloud.io/eng/2016/06/22/monitoring-tuning-linux-networking-stack-receiving-data/ Jun 22, 2016 • packagecloud Tags: packagecloud linux kernel networking optimization tuning monitoring TL;DR This blog post explains how computers runn…
https://www.coverfire.com/articles/queueing-in-the-linux-network-stack/ Queueing in the Linux Network Stack http://blog.jobbole.com/62917/ [A slightly shorter and edited version of this article appeared in the July 2013 issue of Linux Journal. Thanks…
这是一个描述非常好的存储栈,版本为:Linux Storage Stack Diagram v4.10,我在这里转载下图片,可以提升大家对存储栈的理解. https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram https://www.thomas-krenn.com/de/wikiDE/images/7/72/Linux-storage-stack-diagram_v4.10.svg blk-mq(mq就是多队列的意思),…
整理一些杂乱的内容.以下x86架构. Linux 内核栈大小 内核栈大小是固定的,默认为8k,曾经有选项可以设置为4k栈.由于大小固定,申请过大的栈内存,或者函数调用层次过深,都可能导致栈溢出. 关注默认4k还是8k栈,社区曾有过长时间讨论. 其中8k栈的缺点如下: 浪费内存. 由于内核4k分页,要创建一个内核栈就需要申请2块连续的4k页.当内存碎片严重,尤其内存紧张的时候,申请8k的连续内存,要比4k困难的多. 但貌似4k栈带来的麻烦更大,内核中许多bug都由4k栈太小,发生溢出导致的. 因此…
Overview 从宏观的角度来看,一个packet从网卡到socket接收缓冲区的路径如下所示: 驱动加载并初始化 packet到达网卡 packet通过DMA被拷贝到内核中的一个ring buffer 产生一个硬件中断,让系统知道已经有个packet到达内存 驱动会调用NAPI启动一个poll loop,如果它还没启动的话 系统的每个CPU上都有一个ksoftirqd进程,它们都是在系统启动的时候就已经注册了的.ksoftirqd进程会调用NAPI的poll函数从ring buffer中将p…
相关文章: 如何提高Linux下块设备IO的整体性能?…
https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram…
Linux/Unix环境下最早的图形系统是Xorg图形系统,Xorg图形系统通过扩展的方式以适应显卡和桌面图形发展的需要,然而随着软硬件的发展,特别是嵌入式系统的发展,Xorg显得庞大而落后.开源社区开发开发了一些新的图形系统,比如Wayland图形系统. 由于图形系统.3D图形本身的复杂以及历史原因,Linux下的图形系统相关的源码庞大而且复杂,而且缺少学习的资料(所有源代码分析或者驱动编程的书籍都很少介绍显卡驱动).在后续一系列文章中,笔者将从对AMD硬件编程的角度出发对部分问题做一个简单的…
转:https://www.cnblogs.com/shoemaker/p/linux_graphics01.html Linux/Unix环境下最早的图形系统是Xorg图形系统,Xorg图形系统通过扩展的方式以适应显卡和桌面图形发展的需要,然而随着软硬件的发展,特别是嵌入式系统的发展,Xorg显得庞大而落后.开源社区开发开发了一些新的图形系统,比如Wayland图形系统. 由于图形系统.3D图形本身的复杂以及历史原因,Linux下的图形系统相关的源码庞大而且复杂,而且缺少学习的资料(所有源代码…
http://en.wikipedia.org/wiki/Comparison_of_Intel_graphics_processing_units Comparison of Intel graphics processing units From Wikipedia, the free encyclopedia     This page contains information about Intel's GPUs and motherboard graphics chipsets in…
http://en.wikipedia.org/wiki/Mesa_(computer_graphics) Mesa (computer graphics) From Wikipedia, the free encyclopedia     Mesa Original author(s) Brian Paul Developer(s) Intel, AMD, VMware(previously Tungsten Graphics)[1] Initial release August 1, 199…
有本事就出来,没本事就当鳖! 假设让我回答关于进程栈,线程栈的问题,仅仅要问题不笼统,仅仅要问题明白.我会一五一十地回答,正确率上九成,然而,可悲的是,问题往往他妈的都不是非常明白,因此,游戏到此结束.! 艹.可是假设给我一个问的机会.我会问以下一个问题,记住.使出你拉屎的劲来回答(该问题足够糙.不必太当回事,重要的东西在以下-): UNIX/Linux的stack在大多数平台是向下扩展的(注意,我已经告诉事实了.我并没有问...是怎样扩展的,这是能够背诵下来并朗读出来的),在一个运行流调用了一…
GPU Accelerated Compositing in Chrome Tom Wiltzius, Vangelis Kokkevis & the Chrome Graphics team updated May 2014 This code is changing due to Slimming Paint and thus there may be large changes in the future. Note also that some class names may have…
Linux Essentials for Delphi Developers   There is currently no way using Delphi to target Linux. Long ago there was a thing called Kylix that worked on one version of RedHat Linux, barely, back in the 1990s. But in the Community road-map, targeting a…
本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + VxLAN 环境下的 Segmentation Offloading 技术(发送端) (4)QEMU/KVM + VxLAN 环境下的 Segmentation Offloading 技术(接收端) 1. Linux 网络路径 1.1 发送端 1.1.1 应用层 (1) Socket 应用层的各种网络应…
It’s been awhile since I posted something here, and I figured I might use this spot to explain some general points about graphics hardware and software as of 2011; you can find functional descriptions of what the graphics stack in your PC does, but u…
Linux就这个范儿 第13章 打通任督二脉 0111010110……你有没有想过,数据从看得见或看不见的线缆上飞来飞去,是怎么实现的呢?数据传输业务的未来又在哪里?在前面两章中我们学习了Linux网络方面的各种工具,打造了形形色色的网络服务.然而我们并不满足于仅仅知道这些表面的知识,还希望深入了解它们的底层实现.那就来吧,打通任督二脉,探究不同类型的网络以及隐藏在网络后面的世界. 13.1 了解网络驱动工欲善其事,必先利其器.二十年前我们还走在狭窄的乡间小道开着信息牛车.时至今日,信息高速公路…
    在Linux上做网络应用的性能优化时,一般都会对TCP相关的内核参数进行调节,特别是和缓冲.队列有关的参数.网上搜到的文章会告诉你需要修改哪些参数,但我们经常是知其然而不知其所以然,每次照抄过来后,可能很快就忘记或混淆了它们的含义.本文尝试总结TCP队列缓冲相关的内核参数,从协议栈的角度梳理它们,希望可以更容易的理解和记忆.注意,本文内容均来源于参考文档,没有去读相关的内核源码做验证,不能保证内容严谨正确.作为Java程序员没读过内核源码是硬伤. 下面我以server端为视角,从 连接建…
https://www.suse.com/documentation/sles11/book_sle_tuning/data/part_tuning_kernel.html http://blog.csdn.net/maimang1001/article/details/34941471 https://www.suse.com/documentation/sles11/book_sle_tuning/data/sec_tuning_network_buffers.html http://dir…
−Table of Contents Journey to the Center of the Linux Kernel: Traffic Control, Shaping and QoS 1 Introduction 2 Motivation 3 The basics of Traffic Control 3.1 First contact 3.2 Netfilter MARK 3.3 Two classes in a tree 3.4 Connecting the marks to the…
作者:阿里技术保障锋寒 原文:https://yq.aliyun.com/articles/4252 摘要: 本文尝试总结TCP队列缓冲相关的内核参数,从协议栈的角度梳理它们,希望可以更容易的理解和记忆.注意,本文内容均来源于参考文档,没有去读相关的内核源码做验证,不能保证内容严谨正确.作为Java程序员没读过内核源码是硬伤. 在Linux上做网络应用的性能优化时,一般都会对TCP相关的内核参数进行调节,特别是和缓冲.队列有关的参数.网上搜到的文章会告诉你需要修改哪些参数,但我们经常是知其然而不…
程序员练级攻略:Linux系统.内存和网络 Linux 系统相关 Red Hat Enterprise Linux 文档 . Linux Insides ,GitHub 上的一个开源电子书,其中讲述了 Linux 内核是怎样启动.初始化以及进行管理的. LWN's kernel page ,上面有很多非常不错的文章来解释 Linux 内核的一些东西. Learn Linux Kernel from Android Perspective ,从 Android 的角度来学习 Linux 内核,这个…
转自:https://segmentfault.com/a/1190000008836467 本文将介绍在Linux系统中,数据包是如何一步一步从网卡传到进程手中的. 如果英文没有问题,强烈建议阅读后面参考里的两篇文章,里面介绍的更详细. 本文只讨论以太网的物理网卡,不涉及虚拟设备,并且以一个UDP包的接收过程作为示例. 本示例里列出的函数调用关系来自于kernel 3.13.0,如果你的内核不是这个版本,函数名称和相关路径可能不一样,但背后的原理应该是一样的(或者有细微差别) 网卡到内存 网卡…
我收藏的技术知识图(每张都是大图) HTML5Linux/Unix系统设计思想读书笔记 LinuxMVCJava线程MVCSpring MVCCSS3Nginx架构VimCliCommandsPHP知识卡Linux安全知识表 JDK JVM机会HTML5介绍开源协议HTML5移动UED用户体验IT常识Linux系统调用列表 YII架构的典型流程Android系统架构一致性Hash算法CouchDBCss知识表CSS位置如何获取的从MySQL到MongoDB前端工程师知识系Git命令分布式Java…
Linux Performance hi-res: observability + static + perf-tools/bcc (svg)slides: observabilityslides: static, benchmarking, tuning  sar, perf-tools, bcc/BPF:  Images license: creative commons Attribution-ShareAlike 4.0. This page links to various Linux…
1. Overview / What is Socket CAN -------------------------------- The socketcan package is an implementation of CAN protocols (Controller Area Network) for Linux.  CAN is a networking technology which has widespread use in automation, embedded device…
Introduction============ This document describes a set of complementary techniques in the Linuxnetworking stack to increase parallelism and improve performance formulti-processor systems. The following technologies are described: RSS: Receive Side Sc…