Umm... What's that mean? Would you please translate the mysterious acronym
SMM.
TIA
Norm
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, February 07, 2002 1:22 PM
Subject: Re: [rtl] Long latency on laptop
> Is all power saving and the horrible "speed step" disabled?
> If so, you may be the victim of the dreaded SMM about which nothing
> can be done.
>
> On Thu, Feb 07, 2002 at 12:14:47PM +0100, Linus Gasser wrote:
> > Hi,
> > I'm running a RH7.2 with a rtlinux 3.1 a linux-2.2.19 kernel on a DELL
> > Latitude laptop. Data aquisition is done with a PCI-card which holds a
9080
> > from PLX technology. Data rate is about 14MSamples/s, which are
transferred
> > through DMA in 1KByte blocks (which equals to one "slot"). The loop
that gets
> > the data looks like this ( I tried to simplify it as much as possible
without
> > deleting stuff that is important...):
> >
> > void myLoop(){
> > rtl_setclockmode(CLOCK_RTL_SCHED,
> > RTL_CLOCK_MODE_ONESHOT,
> > 0);
> > start_time = clock_gethrtime(CLOCK_RTL_SCHED)+
> > (hrtime_t)GPP_SLOT_TIME_NS;
> > pthread_make_periodic_np(pthread_self(),
> > start_time,
> > 0);
> > do {
> > pthread_wait_np();
> > rtl_printf( "mailbox: %i\n", mbox_9080 );
> >
> > [ lots of calculations ]
> >
> > offset = slot_count - mbox_9080;
> > // mbox_9080 holds the number of DMA-blocks already written into
> > // memory.
> >
> > start_time = clock_gethrtime(CLOCK_RTL_SCHED) +
> > offset*BLOCK_TIME_NS;
> > if (offset > 1)
> > pthread_make_periodic_np(pthread_self(),start_time,0);
> > else
> > EXIT=1;
> >
> > slot_count++;
> > } while (EXIT == 0);
> > }
> >
> > Now: on a dual-pentium, this works real nice. No problem at all. The
> > wakeup-time is always accurate to at least 50us (the time of a "slot").
But,
> > as soon as I let it run on the laptop (single processor, 1GHz PIII),
these
> > wakeup-calls may be missed by as much as 10ms (yes, 200 "slots") once
every
> > 2-3 minutes. Of course my first reaction was to remove all
APM-functions,
> > then to compile the kernel non-SMP and then I let run a script in
parallel,
> > like
> >
> > while sleep 1; do date +%T >> log; cat /proc/loadavg >> log; ps ax |
tail -n
> > 10 | head -n 7 >> log; done
> >
> > So I could look at what happens. But there was nothing special. So I
turned
> > off all services I'm sure aren't in use, switched to runlevel 3 and
tried
> > again. Still no luck. Then I shut down the network and started the
thing
> > locally (before I did it over the network), still no luck. Threw away
the
> > graphical interface, no luck.
> > Now I don't have any ideas left of what to do. I'm running in
text-mode,
> > runlevel 3, w/o all the bells and whistles, no network and it still
crashes
> > on me... runlevel s, shut down everything, ps ax yields:
> > PID TTY STAT TIME COMMAND
> > 1 ? S 0:05 init
> > 2 ? SW 0:00 [kflushd]
> > 3 ? SW 0:00 [kupdate]
> > 4 ? SW 0:00 [kswapd]
> > 5 ? SW 0:00 [keventd]
> > 7254 tty3 S 0:00 init
> > 7255 tty3 S 0:00 /bin/sh
> > 7463 tty3 R 0:00 ps ax
> > (no lines omitted...) and it still crashes...
> > Does anyone have another idea? Everything that I can think of that
> > interrupts my process I turned off. Do YOU have any idea of what to do?
> >
> > Greets
> >
> > ineiti
> > -- [rtl] ---
> > To unsubscribe:
> > echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> > echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> > --
> > For more information on Real-Time Linux see:
> > http://www.rtlinux.org/
>
> --
> ---------------------------------------------------------
> Victor Yodaiken
> Finite State Machine Labs: The RTLinux Company.
> www.fsmlabs.com www.rtlinux.com
>
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/
>
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/