unlocked_ioctl 与普通 ioctl

2024-01-03

在我的驱动程序的 file_operations 结构中,我有:

struct file_operations Fops = {
  read:    device_read,
  write:   device_write,
  unlocked_ioctl:   device_ioctl,
  ...
};

IE。没有使用 ioctl 字段。这是否足以避免大内核锁并在没有任何同步的情况下进入 device_ioctl() ?或者我是否也必须更改代码的用户空间部分中的 ioctl() 调用?


阅读这篇 LWN 文章:http://lwn.net/Articles/119652/ http://lwn.net/Articles/119652/

另外,在 2.6.33 和 2.6.35 rc 之间的某个时候(使用 git-diff 找出哪个提交),现在当仅定义 .ioctl 时,内核会发出警告。

这是朝着更明确、更细粒度的锁定迈出的一步。另请注意,仅更改函数签名和指针将进行编译,但会引入竞争条件的可能性(两个用户空间应用程序同时执行 ioctl 调用)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unlocked_ioctl 与普通 ioctl 的相关文章

  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • 按成员序列化

    我已经实现了template
  • 如何为 Linux 桌面条目文件指定带有相对路径的图标?

    对于我的一个 Linux 应用程序 我有应用程序二进制文件 一个 launcher sh 脚本 针对 LD LIBRARY PATH 和一个 desktop 文件 所有这些都位于同一文件夹中 我想使用图标的相对路径而不是绝对路径 我试过了
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 关于 C++ 转换:参数 1 从“[some_class]”到“[some_class]&”没有已知的转换

    我正在研究 C 并且遇到了一个错误 我不知道确切的原因 我已经找到了解决方案 但仍然想知道原因 class Base public void something Base b int main Base b b something Base
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 通过指向其基址的指针删除 POD 对象是否安全?

    事实上 我正在考虑那些微不足道的可破坏物体 而不仅仅是POD http en wikipedia org wiki Plain old data structure 我不确定 POD 是否可以有基类 当我读到这个解释时is triviall
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co

随机推荐

  • “图表”和“渲染器”同时使用时,HighCharts 性能会急剧下降

    我试图对 HighCharts 的性能有一些感受 比较这两个代码 A 1000 个矩形Renderer object http jsfiddle net highcharts jxpSk 3 50ms B 1000 个矩形Renderer
  • 设置 Eclipse 插件的启动级别和自动启动:p2.inf 与产品定义

    我知道我可以使用 p2 inf 文件或产品定义文件在 Eclipse 中设置捆绑包的启动级别和自动启动标志 在产品文件中执行此操作可以为我提供工具支持 并将设置放入我的启动配置中 另一方面 使用 p2 inf 文件允许我根据每个功能管理启动
  • 如何在 SwiftUI 中没有 NavigationButton 的情况下导航到 NavigationView 中的另一个视图?

    正如问题所说 我想在没有 NavigationButton 的情况下导航到另一个视图 例如 UIkit 中的 pushView 和 popView 我认为这更像是一种限制的解决方法 但它对我有用 添加一个布尔状态变量 用于定义链接是否处于活
  • 使用 find 和 grep 删除文件列表

    我想删除名称包含特定单词的所有文件 例如 车 到目前为止 我想出了这个 find grep car 如何将输出传递给 rm find name car exec rm f 或将管道的输出传递给xargs find grep car xarg
  • 错误:无法访问 jarfile bfg.jar - BFG

    所以我在之前的提交中错误地提交了 Secrets yml 哎呀 我想清除它的 git 提交历史记录 看来最简单的禁食方法就是使用BFG 我已经下载了 jar 文件并安装了 Java 并且我已经创建了我的存储库的镜像 但是当我按照文档运行命令
  • 在分区表上同时创建索引

    我正在使用 postgresql 14 1 并且我使用某些表的分区重新创建了实时数据库 因为我这样做了 所以我可以在服务器不活动时创建索引 但是当它活动时我只能创建使用concurrently但不幸的是 当我尝试同时创建索引时 出现错误 运
  • perl 遍历目录

    我正在尝试获取指定路径中所有目录的名称 我尝试了以下操作 但这给了我每个级别 而不仅仅是在我指定的路径上 find dir names C mydata sub dir names print File Find dir n if f Fi
  • 我可以在 Scala 中定义“方法私有”字段吗?

    鉴于这种情况 object ResourceManager private var inited false def init config Config if inited throw new IllegalStateException
  • MySQL 将十六进制转换为双精度

    MySQL 中应采用哪种方法将十六进制 8 字节 转换为双精度值 为了从 HEX 转换为 INT 我使用 CONV hex value 16 10 但为了转换为双倍我不知道 CREATE FUNCTION HEX2DOUBLE hex in
  • 在 Objective-C 字符串格式中添加零

    快速问题 我试图在 NSString stringWithFormat 格式化字符串中用特定数量的零填充空白 例如 我想要 The number is d 5 I want this to output the number is 05 t
  • 将 HTML 或 RTF 格式的文本插入 Word 书签

    我尝试将格式化文本插入 Word 书签 文本来自多个富文本控件 我们使用 TX Text Control 并附加到书签中 问题在于标签是按原样编写的并且没有被解释 oWord New Word Application Dim strFile
  • XUnit 测试项目只有 1 个 Main 方法:“程序定义了多个入口点。”

    我在 Visual Studio 2017 RC 中将 vNext 格式的 NET xUnit 测试项目 带有 project json 转换为新的 csproj 格式 并开始出现以下错误 大多数对此错误的在线答案都说 您有两个 Main
  • 将评分函数从 sklearn.metrics 传递到 GridSearchCV

    GridSearchCV 文档 http scikit learn org stable modules generated sklearn grid search GridSearchCV html表明我可以通过评分功能 评分 字符串 可
  • Drools - 规则层次结构和条件执行

    我想知道是否有一种方法可以定义规则之间的层次结构 而不 仅仅是执行顺序 并控制规则执行 即如果父规则被触发 则不应评估下面的规则等 该线程中的信息是一个选项 但本质上是 IF THEN ELSE https stackoverflow co
  • jQuery 将小数四舍五入为 0.49 或 0.99

    我正在尝试弄清楚如何将小数四舍五入为 0 49 或 0 99 我已经找到了toFixed 2 函数 但不确定如何向上或向下舍入 基本上需要达到最接近的价格点 例如 X 55 将下降到 X 49 X 84 将上升到 X 99 这不需要 jQu
  • x86(masm32)中的冒泡排序,我写的排序不起作用

    我正在尝试在 x86 masm32 中编写冒泡排序 排序不起作用 我已经测试了一些代码 它在比较和交换部分中似乎很混乱 由于某种原因 比较函数总是将 2 分配给 EAX 如果我能弄清楚为什么我能让程序运行 提前感谢您的帮助 data aa
  • Web.config 转换在发布时运行两次

    我有一个包含三个 Web 项目 以及许多类库项目 的解决方案 Web 项目都使用 Web config 转换来指定每个环境的配置 我有多个构建配置文件的 Web config 转换 名为 Web UAT config Web Staging
  • 如何修复:对于不返回任何键列信息的 SelectCommand,不支持为 DeleteCommand 生成动态 SQL

    我的代码有效 复制大约 10 个表后 出现错误 Dynamic SQL generation for the DeleteCommand is not supported against a SelectCommand that does
  • 查看heroku上的数据库

    我正在尝试查看我的 heroku 实例上的数据 我希望能够查看他们服务器上的数据库 我不想将其拉到我的本地系统中 更重要的是 我不想等待那么长时间来查看数据 假设我将当前包含 800 万本书的数据库 以及所有相关元数据 推送到 Heroku
  • unlocked_ioctl 与普通 ioctl

    在我的驱动程序的 file operations 结构中 我有 struct file operations Fops read device read write device write unlocked ioctl device io