Kernel内バッファサイズ拡張
Posted: 2012年4月21日(土) 18:00
いつもお世話になっております。
linux-2.6.18-at11 Debianです。
kernel側にメモリバッファを設けました:
unsigned long buf_k_0, buf_k_1, buf_k_2, buf_k_3;
#define SIZE 0x8000
buf_K_0 = kmalloc(sizeof(u32) * SIZE, GFP_KERNEL);
buf_K_1 = kmalloc(sizeof(u32) * SIZE, GFP_KERNEL);
は可能ですが、SIZEをこれ以上に設定すると:
"__you_cannot__kmalloc_that_much”というWarningが出て実際上Compileが通りません。
buf_K_2 = kmalloc(sizeof(u32) * SIZE, GFP_KERNEL);
buf_K_3 = kmalloc(sizeof(u32) * SIZE, GFP_KERNEL);
はできるのでKernel内の基本的な上限には達していないようです。
調べたのですが、設定個所が分かりません。
終局的な目標はバッファ2個でSIZE = 0x400000ですがこれに至らなくてもやむをえません。
無精で申し訳ありませんが、ご示唆いただけると助かります。
linux-2.6.18-at11 Debianです。
kernel側にメモリバッファを設けました:
unsigned long buf_k_0, buf_k_1, buf_k_2, buf_k_3;
#define SIZE 0x8000
buf_K_0 = kmalloc(sizeof(u32) * SIZE, GFP_KERNEL);
buf_K_1 = kmalloc(sizeof(u32) * SIZE, GFP_KERNEL);
は可能ですが、SIZEをこれ以上に設定すると:
"__you_cannot__kmalloc_that_much”というWarningが出て実際上Compileが通りません。
buf_K_2 = kmalloc(sizeof(u32) * SIZE, GFP_KERNEL);
buf_K_3 = kmalloc(sizeof(u32) * SIZE, GFP_KERNEL);
はできるのでKernel内の基本的な上限には達していないようです。
調べたのですが、設定個所が分かりません。
終局的な目標はバッファ2個でSIZE = 0x400000ですがこれに至らなくてもやむをえません。
無精で申し訳ありませんが、ご示唆いただけると助かります。