Dump e Scheduler

Attilio Rao attilio a freebsd.org
Gio 19 Feb 2009 23:49:45 CET


2009/2/19, Federico Bitelli <bitelli a fis.uniroma3.it>:
> Attilio Rao ha scritto:
>
>
> > 2009/2/19, Federico Bitelli <bitelli a fis.uniroma3.it>:
> >
> >
> > > Intanto un saluto a tutti
> > >  Seppur iscritto da molto alla lista sono uno di quelli che non scrive
> quasi
> > > mai ma vi legge sempre con molta attenzione.
> > >
> > >  Un curiosità che magari qualcuno fra voi sa soddisfare e che  può
> comunque
> > > esser un informazione utile  a qualcun altro.
> > >  Freebsd 7.1
> > >  Kernel compilato  con options         SCHED_4BSD
> > >
> > >  effettuando
> > >  #dump -0uaL -f /DATA2/HOME_0.dmp /home
> > >  il dump arriva all 100% scrive in dumpdates ma il processo non termina,
> > > rimane appeso.
> > >  Provo ugualmente a capire se è andato a buon fine usando il file dmp ma
> il
> > > restore termina con la sola ricostruzione della struttura delle
> directory.
> > >
> > >  Ricompilo il kernel tutto uguale e cambio solo lo scheduler (torno al
> > > default per la 7.1 )
> > >  ossia options  SCHED_ULE
> > >  rilancio il tutto e tutto va a buon fine
> > >  dump completato
> > >  restore completato.
> > >
> > >  Qualcuno ha idea di perchè  il vecchio scheduler (SCHED_4BSD) non vada
> > > d'accordo col dump   con la 7.1.?
> > >
> > >
> >
> > Cosi a naso no, ma potrebbe essere un bug del kernel.
> > Ti va di darmi una mano a debuggarlo?
> >
> > Grazie,
> > Attilio
> >
> >
> >
>  Beh si ma non ho idea da che parte cominciare.
>  La macchina in questione è in produzione ma posso provare a riprodurlo su
> una macchina gemella e vedere se si tira fuori qualche info più utile.

Nel kernel includi le seguenti opzioni:
options KDB
options DDB
options INVARIANT_SUPPORT
options INVARIANTS
options WITNESS

e cerca di riprodurre il deadlock.
Se ci riesci, mentre il processo e' ancora in hang fai ctrl+altr+esc e
il kernel dovrebbe entrare in DDB (un debugger).
A quel punto dovresti dare i seguenti comandi (l'ordine non e' importante):
db> show alllocks
db> show allpcpu
db> ps
db> allt

e riportarmi i risultati? (nota: e' tantissimo output e avrai bisogno
di una macchina collegata con la seriale per salvarlo
(probabilmente)).

Grazie,
Attilio


-- 
Peace can only be achieved by understanding - A. Einstein


Maggiori informazioni sulla lista Esperti