Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
電子辞書で学ぶ Linux のサスペンド
Search
Takumi Sueda
March 11, 2023
Technology
0
630
電子辞書で学ぶ Linux のサスペンド
情報科学若手の会 春の陣 2023 #wakate2023s
Takumi Sueda
March 11, 2023
Tweet
Share
More Decks by Takumi Sueda
See All by Takumi Sueda
組み込みLinuxの時系列
puhitaku
4
1.5k
電子辞書にステータスバーを実装する
puhitaku
0
220
知育おもちゃの遊び方 Lv. 999
puhitaku
5
2.9k
ルーターでプレゼンする
puhitaku
1
5.1k
AST as Black Magic
puhitaku
0
120
次世代の足下を舗装するコミュニティ
puhitaku
5
1.8k
USB PD で迎える AC アダプター大統一時代
puhitaku
2
2.6k
電子辞書のアイデンティティを消す方法
puhitaku
3
3.9k
リセットとフリーズで解析する電子辞書リバエン記 / reverse-engineer-e-dictionaries-with-reset-and-freeze
puhitaku
2
6.6k
Other Decks in Technology
See All in Technology
いま現場PMのあなたが、 経営と向き合うPMになるために 必要なこと、腹をくくること
hiro93n
9
7.2k
データ基盤におけるIaCの重要性とその運用
mtpooh
1
240
技術に触れたり、顔を出そう
maruto
1
140
Cloudflareで実現する AIエージェント ワークフロー基盤
kmd09
0
280
あなたの知らないクラフトビールの世界
miura55
0
110
生成AI × 旅行 LLMを活用した旅行プラン生成・チャットボット
kominet_ava
0
150
My small contributions - Fujiwara Tech Conference 2025
ijin
0
1.4k
Reactフレームワークプロダクトを モバイルアプリにして、もっと便利に。 ユーザに価値を届けよう。/React Framework with Capacitor
rdlabo
0
110
【JAWS-UG大阪 reInvent reCap LT大会 サンバが始まったら強制終了】“1分”で初めてのソロ参戦reInventを数字で振り返りながら反省する
ttelltte
0
130
自社 200 記事を元に整理した読みやすいテックブログを書くための Tips 集
masakihirose
2
320
Azureの開発で辛いところ
re3turn
0
240
AWSマルチアカウント統制環境のすゝめ / 20250115 Mitsutoshi Matsuo
shift_evolve
0
100
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
For a Future-Friendly Web
brad_frost
176
9.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
19
2.3k
Scaling GitHub
holman
459
140k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
Rails Girls Zürich Keynote
gr2m
94
13k
Gamification - CAS2011
davidbonilla
80
5.1k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Visualization
eitanlees
146
15k
Building an army of robots
kneath
302
45k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Transcript
2023 #wakate 2023 s Linux aka @puhitaku
2 Takumi Sueda @puhitaku HOMMA Inc. OSS etc. 3 D
2014
Linux Linux 3 5 3
SHARP Brain SHARP Brain 4
SHARP Brain SHARP Brain PW-SH 1 SHARP 2008 Windows CE
2020 CE exe Brain 2ch Brain Windows CE Wikipedia matplotlib 5
SHARP Brain 6 DRAM: LPDDR 128 MB eMMC: 8 GB
SD Raspberry Pi LCD CPU: NXP i.MX 2 83 ARM 926 EJ-S, armv 5 tej 4 54 MHz LCD: 8 00 x 48 0 SD: SDXC :
SHARP Brain SHARP Brain PW-SH 1 U-Boot Linux 2020 Brain
U-Boot Linux Raspberry Pi SD Linux LCD SD / eMMC etc ... 7
SHARP Brain SHARP Brain PW-SH 1 cpufreq CPU 8 🤔
SHARP Brain SHARP Brain PW-SH 1 cpufreq CPU 9 🤔
None
Suspend-to-Idle Standby Suspend-to-RAM Hibernation Linux 11 "sleep", "system-wide sleep"
1 . Suspend-to-Idle 2 . Standby 😴 Userspace 😴 Timekeeping
tick, 😴 I/O CPU CPU 😴 Suspend-to-Idle 😴 Non-boot CPU 3 . Suspend-to-RAM 😴 Standby 😴 CPU DRAM DRAM 4 . Hibernation 😴 CPU
1 . Suspend-to-Idle 2 . Standby 😴 Userspace 😴 Timekeeping
😴 I/O CPU CPU 😴 Suspend-to-Idle 😴 Non-boot CPU 3 . Suspend-to-RAM 😴 Standby 😴 CPU DRAM DRAM 4 . Hibernation 😴 CPU Suspend-to-RAM
Suspend-to-RAM
Suspend-to-RAM 1 . 2 . 3 . & 4 .
Non-boot CPU CPU IRQ Boot CPU 5 . tick 6 . RAM 7 . Suspend-to-RAM 15
Suspend-to-RAM 1 . 2 . CPU 3 . 4 .
tick 5 . Non-boot CPU 6 . IRQ 7 . (thaw = ) 8 . Suspend-to-RAM 16
Suspend-to-RAM
Suspend-to-RAM Suspend-to-RAM 2 18 Brain SoC MOSFET GPIO SPI, I²C
graceful dev_pm_ops Device Tree Power Management Subsystem ISR Brain GPIO
Suspend-to-RAM /sys/power/state write 19 i.MX 28 Device Tree LCD Suspend-to-RAM
Device Tree
Suspend-to-RAM 20 Suspend-to-RAM 1. pm_wakeup_event PM subsystem 2 . suspend_enter
CPU PC CPU /drivers/input/keyboard/gpio_keys.c L 44 3 (Linux 5 . 4 . 2 3 4 ) /kernel/power/suspend.c L 5 02 (Linux 5 . 4 . 2 34 )
Brain
Brain ✅ Suspend-to-RAM ✅ GPIO ⬜ MCU I²C I²C ISR
Windows ⬜ LCD FET ENABLE GPIO regulator Device Tree ⬜ ⬜ OS Suspend-to-RAM 22
suspend_prepare suspend_freeze_processes [1] userspace [ 1 ] https://elixir.bootlin.com/linux/v 5 .
4 . 23 4 /source/kernel/power/power.h#L 250 Q. kthread userspace 23 Q. 4 SoC Suspend-to-Idle Brain SoC 115mA 86 mA [1] Brain Standby Suspend-to-Idle Suspend-to-RAM LCD [ 1 ] https://twitter.com/puhitaku/status/ 1 62 984 98 629 24 6484 55
Bootlin Elixir: https://elixir.bootlin.com/linux/v 5 . 4 . 2 34 /
Mainline Linux /Documentation/admin-guide/pm/suspend- fl ows.rst /Documentation/admin-guide/pm/sleep-states.rst 24