Re: uipc_socket2.c panic

From: Bosko Milekic <bmilekic_at_FreeBSD.org>
Date: Wed, 2 Jun 2004 08:13:08 -0700
>P.S. I have a bad feeling that this happend even BEFORE mbuma... (a day
>or two before you commited that).

  Why do you have this feeling?  Was it occuring before?

  I've had one report of a similar-nature problem which I believe
  I fixed in rev 1.2 of kern_mbuf.c.  But this might be different.

  Try backing out the mbuma changes (i.e., going to -CURRENT the day
  before mbuma) to confirm whether this still occurs.

  If so, I'd also recommend trying to disable pre-emption, just so
  we can rule that out as a possibility.  To disable pre-emption:

  - edit src/sys/kern/kern_intr.c
  - go down to ithread_schedule()
  - spot this code (around line 412):

                if (do_switch &&
                    (ctd->td_critnest == 1) ) {
                        KASSERT((TD_IS_RUNNING(ctd)),
                            ("ithread_schedule: Bad state for curthread."));
                        if (ctd->td_flags & TDF_IDLETD)
                                ctd->td_state = TDS_CAN_RUN; /* XXXKSE */
                        mi_switch(SW_INVOL);
                } else {
                        curthread->td_flags |= TDF_NEEDRESCHED;
                }

  - Change above code to this:

#if 0
                if (do_switch &&
                    (ctd->td_critnest == 1) ) {
                        KASSERT((TD_IS_RUNNING(ctd)),
                            ("ithread_schedule: Bad state for curthread."));
                        if (ctd->td_flags & TDF_IDLETD)
                                ctd->td_state = TDS_CAN_RUN; /* XXXKSE */
                        mi_switch(SW_INVOL);
                } else {
#endif
                        curthread->td_flags |= TDF_NEEDRESCHED;
      /*        } */

   (leaving only the curthread->td_flags |= TDF_NEEDRESCHED line
    uncommented).

  - rebuild and install new kernel.

  I'd recommend trying to backout to JUST before mbuma before trying
  the pre-emption disable.  Let me know how it goes.

  -Bosko
 
Received on Wed Jun 02 2004 - 06:13:08 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:55 UTC