LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 895|回复: 0

kernel unaligned access to ...[IA64]

[复制链接]
发表于 2007-4-27 09:54:42 | 显示全部楼层 |阅读模式
http://kbase.redhat.com/faq/FAQ_105_9111.shtm

记录一下。

Issue:
What do the unaligned access lines in my dmesg output mean?
Resolution:

Release Found: Red Hat Enterprise Linux 5 Beta

Symptom:
Running Red Hat Enterprise Linux 5 on an Itanium, unaligned access messages from the dmesg output are seen. When running the dmesg command, repeated error messages about applications or the kernel showing unaligned access appear.

For example:
[root@hostname /]# dmesg | grep unaligned
kernel unaligned access to 0xa00000020065805f, ip=0xa0000001002a48d1
kernel unaligned access to 0xa000000200e9c077, ip=0xa0000001002a48d1
kernel unaligned access to 0xa000000200e9c07f, ip=0xa0000001002a48d1
avahi-daemon(2048): unaligned access to 0x60000ffffe2435f4,
ip=0x20000000000ae600
avahi-daemon(2048): unaligned access to 0x60000ffffe2435f4,
ip=0x20000000000ae600
avahi-daemon(2048): unaligned access to 0x60000ffffe2435f4,
ip=0x20000000000ae6c1
gnome-settings-(2356): unaligned access to 0x60000ffffed1f62c,
ip=0x2000000001cb6da0
gnome-settings-(2356): unaligned access to 0x60000ffffed1f51c,
ip=0x2000000001cb6da0
mixer_applet2(2472): unaligned access to 0x60000000001e29d4,
ip=0x2000000007a5d960
mixer_applet2(2472): unaligned access to 0x60000000001e276c,
ip=0x2000000007a5d990
kernel unaligned access to 0xa000000200ecc05f, ip=0xa0000001002a48d1
kernel unaligned access to 0xa000000200ecc067, ip=0xa0000001002a48d1
kernel unaligned access to 0xa000000200ecc06b, ip=0xa0000001002a48d1
kernel unaligned access to 0xa000000200ecc06f, ip=0xa0000001002a48d1

Solution:
The applications that attempt the unaligned memory access (from the dmesg shown above, the kernel, gnome-settings mixer_applet, avahi-daemon ) are not written optimally but unaligned access is not considered a bug, just unexpected or odd behavior.

The output mentioned above should only appear on Intel Itanium systems as this CPU provides a hardware "trap", which tells the kernel to emulate the unaligned access.

Unaligned access happens when an application declares a memory section of a certain "type" and accesses it using a different smaller type. For example, assigning an array of char type and accessing it with a short integer.

These messages are informative only. When any application performs an unaligned access, the processor traps into the kernel and the kernel emulates the unaligned access. The program will work correctly however there will be a performance hit, as emulating the unaligned memory access is a software operation and not a hardware operation.

It is possible to completely disable the printing of unaligned access messages from the current point in time forward till the next reboot by issuing this command at run-time as the root user:
# dmesg -n4

Or for a specific program use the prctl command:
prctl --unaligned=silent [program-name]

replace program-name with the specific application.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表