Linux memo 2019/02/17

● cross prelink
cross prelinkは32bitのarm Linuxの初期によく使われたが、各自が勝手にprelinkにパッチを当てて開発するスタイルだったようで、中央レポジトリが存在しなかった、仕方ないのでYocto Projectで管理することにしたよ、って書いてあった。
Cross-Prelink - Yocto Project (https://wiki.yoctoproject.org/wiki/Cross-Prelink)
prelink-cross - Cross capable Prelink (http://git.yoctoproject.org/cgit/cgit.cgi/prelink-cross/about/)

● ld.soの機能
環境変数LD_DEBUGでいろいろできる。ヘルプを出すには、$ LD_DEBUG=help ls など。
環境変数でLinuxのglibc動的リンカにログを出力させる (http://blog.kmckk.com/archives/4738685.html)
Linux の共有ライブラリの挙動について - daily dayflower (http://dayflower.hatenablog.com/entry/20080522/1211531665)
http://ukai.jp/debuan/2002w/elf.txt
Binary Hacksはもちろん今でも役に立つんだけど、なにせ10年以上前にその当時で「少し古い」情報も書かれた本なので、本当かどうかは実環境で裏付けしながらやったほうがよい。

● jiffiesの初期値
jiffiesの初期値は-5分、INITIAL_JIFFIESでgrepしてみて。
kernel/include/linux/jiffies.h#L174
このため「起動後1分だけ」という条件を書きたい場合、ktime_get_ts()あたりを使うのが良い。

● sqlite3_closeとsqlite3_close_v2()の違い
SQLiteは、こだわりがないのならばとりあえずv2のほうを必ず使っとけ。
Closing A Database Connection (https://www.sqlite.org/c3ref/close.html)
objective c - sqlite3_close_v2 crashes on iOS, sqlite3_close doesn't - Stack Overflow
【SQLite C/C++ API】sqlite3, sqlite3_stmtオブジェクトの解放忘れを防ぐ(C++) - Qiita

● IPパケットのDSCP
IPパケットのToSフィールドにDSCPを設定したい場合、iptablesで設定する方法が主流みたいだけど、その場合CONFIG_NETFILTER_XT_MATCH_DSCP が必要になる。
https://elixir.bootlin.com/linux/v3.10.108/source/net/netfilter/Makefile#L112
https://elixir.bootlin.com/linux/v3.10.108/source/net/netfilter/xt_dscp.c
Linux の iptables で OUTPUT 方向のパケットに ToS を設定する - Qiita
ネットワーク屋さんじゃないから正直詳しくない。

● Liuxでの待ち合わせの種類
wait_event()とwake_up()、wait_for_completion()とcomplete()、あともう1種類あった気がするけど忘れた。いつもすぐに思い出せないし、思い出しても排他処理の書き方で長時間悩んでしまう。
1.7 事象の待ち合わせ

● シリアルコンソール用のツール
- cu
- screen
- kermit
- minicom
WindowsだとTeraTerm一択だけど、Linuxだと意外と定番というのがなさげ?screenも使えるのは意外だった。ここで私の使ってる.kermrcを晒しておきたいところだけど、kermitに限らず設定ファイルをさらす(というか自分用にいつでも参照できるようにしたい)予定で考えてるので、ここではやめとく。Githubにsettingレポジトリを置くのが良いかも。

● priority inheritance
優先度継承は古典的だけど今でも頭を悩ます問題。例えば、itronのmtxは優先度継承するがsemはしない、など。Linux kernelでもどうなってるのかを調べないといけないことが今後出てきそう。
このへん?(kernel/Docuentation/locking/rt-mutex.txt)
なんかLinusが優しく吠えてた

このブログ記事について

このページは、らるるが2019年2月17日 19:50に書いたブログ記事です。

ひとつ前のブログ記事は「cocoparのモバイルディスプレイがすごい」です。

次のブログ記事は「Linux memo 2019/02/24」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

ウェブページ

Powered by Movable Type 7.9.0