2

我需要分配4K对齐的64 个块128K 内存。Currentyl按分配使用需要具有DMA 功能。当我这样做时,我收到以下警告消息。这是否意味着我的请求失败了?pci_alloc_consistent()phy_addr

------------[ cut here ]------------
WARNING: at mm/page_alloc.c:2045 __alloc_pages_nodemask+0x8d9/0x940() (Tainted: P           ----------------  )
Hardware name: ProLiant DL165 G5
Modules linked in: vgchal(P+)(U) vgcport(P)(U) autofs4 sunrpc cpufreq_ondemand powernow_k8 freq_table mperf ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 uinput tg3 vgcinit(P)(U) vgcdebug(P)(U) sg microcode k10temp amd64_edac_mod edac_core edac_mce_amd i2c_piix4 i2c_core shpchp ext3 jbd mbcache hpsa cciss sr_mod cdrom ata_generic pata_acpi pata_serverworks sata_svw dm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_wait_scan]
Pid: 2448, comm: insmod Tainted: P           ----------------   2.6.32-220.el6.x86_64 #1
Call Trace:
[<ffffffff81069b77>] ? warn_slowpath_common+0x87/0xc0
[<ffffffff81069bca>] ? warn_slowpath_null+0x1a/0x20
[<ffffffff81124069>] ? __alloc_pages_nodemask+0x8d9/0x940
[<ffffffff81147fc9>] ? vmap_page_range_noflush+0x279/0x370
[<ffffffff811474da>] ? __insert_vmap_area+0x7a/0xd0
[<ffffffff81010f46>] ? dma_generic_alloc_coherent+0xa6/0x160
[<ffffffff8103bb89>] ? gart_alloc_coherent+0x49/0x140
[<ffffffffa00ee5e5>] ? dbh_hal_init+0x105/0x410 [vgchal]
[<ffffffffa00ee805>] ? dbh_hal_init+0x325/0x410 [vgchal]
[<ffffffffa0113095>] ? hal_module_init+0x95/0xa0 [vgchal]
[<ffffffff81096e75>] ? __blocking_notifier_call_chain+0x65/0x80
[<ffffffffa0113000>] ? hal_module_init+0x0/0xa0 [vgchal]
[<ffffffff8100204c>] ? do_one_initcall+0x3c/0x1d0
[<ffffffff810af641>] ? sys_init_module+0xe1/0x250
[<ffffffff8100b0f2>] ? system_call_fastpath+0x16/0x1b

正如我所读到的,pci_alloc_consistent()应该能够分配超过128K 的内存,但找不到它可以做的最大值。请让我知道这里出了什么问题。

4

1 回答 1

0

如果可能的话,我还建议升级内核。

2.6.32-220.el6是 RHEL 6.2 附带的初始(错误)内核版本(已被 EL6.3 和 6.4 取代)。如果可以,请尝试移至 6.2 内核的最新版本kernel-2.6.32-220.23.1.el6,假设您需要继续使用 6.2 操作系统版本。

于 2013-06-01T11:44:37.863 回答