前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jetson 中的 Zram 源码详解(2)

Jetson 中的 Zram 源码详解(2)

原创
作者头像
Librant
修改2024-07-07 20:26:31
1080
修改2024-07-07 20:26:31
举报
文章被收录于专栏:带你玩转Jetson系列教程

在上一篇 《Jetson 中的 zram 技术详解》中已经介绍了相关 Zram 的技术部分以及如何在 Jetson 设备上使用 Zram,本篇文章将着重介绍下 Linux 内核中关于 Zram 的源码部分。

1、源码下载

github 上的地址:https://github.com/torvalds/linux/tree/master

git clone 下载地址:https://github.com/torvalds/linux.git

这里在 gitcode 上搜索了下,fork 过来的项目也基本是没有维护了,如果不能在 github 上下载,只能自行解决网络问题了;

下载完成之后,通过 VSCODE 打开文件目录,找到 zram 目录;

代码语言:txt
复制
linux/drivers/block/zram

这个是最新的 master 分支的代码,如果需要查看指定内核版本的代码,可以切换到指定版本,这里我将内核代码切换到和当前使用的版本(v5.10)一致的代码;

在 github 上的目录信息:

整个 zram 的代码不算很多,下面对源码进行详细的分析;

2、源码分析

2.1 zram_drv.c

zram 作为一个块设备,详细解析下这个块设备驱动的源码,文件总共有 2100 多行;

2143 - 2151 行:

代码语言:txt
复制
module_init(zram_init);
module_exit(zram_exit);

module_param(num_devices, uint, 0);
MODULE_PARM_DESC(num_devices, "Number of pre-created zram devices");

MODULE_LICENSE("Dual BSD/GPL");
MODULE_AUTHOR("Nitin Gupta <ngupta@vflare.org>");
MODULE_DESCRIPTION("Compressed RAM Block Device");

module_init:驱动加载的函数:zram_init

module_exit:驱动卸载的函数:zram_exit

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、源码下载
  • 2、源码分析
    • 2.1 zram_drv.c
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档