手撕烂笔头-内核中一些不错的宏定义代码工具之WARN_ON_ONCE-解决异常刷屏问题

文章讨论了在Linux内核kmalloc函数中使用WARN_ON_ONCE处理逻辑树复杂可能导致的异常情况,该方法允许异常只被全局打印一次,避免频繁报错和资源浪费。它提供了一种优雅且节约资源的方式来解决代码中特定异常的打印问题。

只显示一次warning

前沿

在kmalloc的代码中逻辑树复杂,很可能出现异常。但是出现异常由于kmalloc是非常频繁被调用的函数,所以异常不能每次都打印报错,怎么办?WARN_ON_ONCE来解决

用法:

		if (WARN_ON_ONCE(size > KMALLOC_MAX_CACHE_SIZE))
			return NULL;

定义:

在这里插入图片描述

原理:

定义一个static 然后执行warn_on

举例:kmalloc_slab中判断异常进入的代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值