That bit of code looks at the per-thread flags set by the OSF/1
getsysinfo/setsysinfo syscalls. AFAIK you would have to rebuild the
program to set the flags anyway, so why not just fix the unaligned
access...
Matt
On Mon, Nov 06, 2000 at 10:10:04AM -0500, Lew Randerson wrote:
> To all,
>
> How do we turn off printing of the unaligned trap messages to
> /var/log/messages? There's an implication in the kernel code
> that this is a user option. The alignment problem itself is
> probably in our 'mpich-1.2.0' package but until that is resolved
> we need to turn of the printing since particularly on our Red Hat
> 6.2 system it is causing a big load on syslogd.
>
> We are running Red Hat 6.1 and Red Hat 6.2 on ALPHA machines. The
> kernel is 2.2.16-3. The FORTRAN compiler is Compaq Fortran V1.0-920.
> The C compiler is egcs-2.91.66.
>
> Here's what the messages look like in /var/log/messages
> ====================================================================
> Jul 15 08:10:23 loki kernel: gotsc(1416): unaligned trap at
> 000000012010ad44: 0000000120188ba4 23 0
> Jul 15 08:10:23 loki kernel: gotsc(1416): unaligned trap at
> 000000012010ad54: 0000000120188ba4 23 1
> Jul 15 08:10:23 loki kernel: gotsc(1416): unaligned trap at
> 000000012010ad44: 0000000120188ba4 23 0
> Jul 15 08:10:23 loki kernel: gotsc(1416): unaligned trap at
> 000000012010ad54: 0000000120188ba4 23 1
> ====================================================================
>
>
> Here's an excerpt from arch/alpha/kernel/traps.c talking about this.
> ====================================================================
> do_entUnaUser(void * va, unsigned long opcode,
> unsigned long reg, struct pt_regs *regs)
> {
> static int cnt = 0;
> static long last_time = 0;
>
> unsigned long tmp1, tmp2, tmp3, tmp4;
> unsigned long fake_reg, *reg_addr = &fake_reg;
> unsigned long uac_bits;
> long error;
>
> /* Check the UAC bits to decide what the user wants us to do
> with the unaliged access. */
>
> uac_bits = (current->tss.flags >> UAC_SHIFT) & UAC_BITMASK;
> if (!(uac_bits & UAC_NOPRINT)) {
> if (cnt >= 5 && jiffies - last_time > 5*HZ) {
> cnt = 0;
> }
> if (++cnt < 5) {
> printk("%s(%d): unaligned trap at %016lx: %p %lx %ld\n",
> current->comm, current->pid,
> regs->pc - 4, va, opcode, reg);
> }
> last_time = jiffies;
> }
> ====================================================================
>
> As an aside. On our Red Hat 6.1 systems, we get two to four messages
> about every four minutes. On our only Red Hat 6.2 system with the
> same code, we get over 40 per minute.
>
> Thanks for any help, --Lew
>
>
>
>
> _______________________________________________
> Axp-list mailing list
> Axp-list@redhat.com
> https://listman.redhat.com/mailman/listinfo/axp-list
_______________________________________________
Axp-list mailing list
Axp-list@redhat.com
https://listman.redhat.com/mailman/listinfo/axp-list
This archive was generated by hypermail version 2a22 on Fri Dec 1 08:00:06 2000 PST
Send any problems or questions about this archive to webmaster@alphalinux.org.