[OpenAFS-devel] RE: problem with openafs on i386_linux22 SMP with 2.2.17, 2.2.18p re17

Neulinger, Nathan R. nneul@umr.edu
Thu, 30 Nov 2000 15:29:13 -0600


Yes, this does correct the problem with unloading the module.

I'll take a look this evening and see if I can find anything else out about
the problem with afsd sucking cpu.

-- Nathan

> -----Original Message-----
> From: Neulinger, Nathan R. [mailto:nneul@umr.edu]
> Sent: Thursday, November 30, 2000 1:39 PM
> To: 'Michael Pronath'
> Cc: Derek Atkins; openafs-devel@openafs.org
> Subject: [OpenAFS-devel] RE: problem with openafs on i386_linux22 SMP
> with 2.2.17, 2.2.18p re17
> 
> 
> Ok. not sure if this fixes it or not, hosed my home machine 
> trying... (can't
> get to it at the moment)
> 
> I do know though that it does _not_ help the afsd going 
> cpu-hog problem I
> experienced on that box.
> 
> I'll let ya know as soon as I find out whether it corrects 
> the memory oops.
> 
> -- Nathan
> 
> > -----Original Message-----
> > From: Michael Pronath [mailto:Michael.Pronath@ei.tum.de]
> > Sent: Thursday, November 30, 2000 6:50 AM
> > To: Nathan Neulinger
> > Cc: Derek Atkins; openafs-devel@openafs.org
> > Subject: problem with openafs on i386_linux22 SMP with 2.2.17,
> > 2.2.18pre17
> > 
> > 
> >  Your post to openafs-devel on Fri, 03 Nov 2000:
> >  
> >  This is apparently a bug in the memory allocation code of 
> > the Linux module
> >  libafs-xxx.o . 
> >  The hash structures for memory allocation are setup the 
> > first time memory
> >  is allocated.  If we insert the module with insmod, no 
> allocation has
> >  happened so far and the structures are not initialized.  If 
> > you remove the
> >  module with rmmod right after that, the function
> >  osi_linux_free_afs_memory (src/afs/LINUX/osi_alloc.c:322) 
> is called.
> >  It mistakenly assumes that the hash lh_mem_tab is setup 
> > already and uses
> >  it.  This leads to the segfault.
> >  
> >  The following patch should fix this problem.
> >  Apply it with
> >  
> >     cd src/afs/LINUX
> >     patch < alloc.patch
> >     
> >     
> > Patch file:
> > cut here >----------------------------------------------
> > --- src/afs/LINUX/osi_alloc.c	Mon Oct 30 19:07:41 2000
> > +++ src/afs/LINUX/osi_alloc.c_new	Thu Nov 30 13:38:10 2000
> > @@ -323,6 +323,7 @@
> >  {
> >      down(&afs_linux_alloc_sem);
> >  
> > +    if (allocator_init) {
> >      /* iterate through all elements in the hash table and 
> free both 
> >       * the chunk and the atom associated with it.
> >       */
> > @@ -336,7 +337,7 @@
> >  
> >      /* change the state so that the allocator is now 
> > uninitialized. */
> >      allocator_init = 0;
> > -
> > +    }
> >      up(&afs_linux_alloc_sem);    
> >  }
> > cut here >----------------------------------------------
> > 
> >  
> > 
> > Michael Pronath
> > 
> > 
> > 
> > -- 
> > 
> > Dipl.-Ing. Michael Pronath
> > Lehrstuhl fuer Entwurfsautomatisierung            Tel:  +49 
> > 89 289 23659
> > Technische Universitaet Muenchen                  Fax:  +49 
> > 89 289 63666
> > Arcisstr.21, D-80333 Muenchen         TU-Innenhof, Gebaeude 
> > 9, Raum 4915
> > Mailto:Michael.Pronath@ei.tum.de
> > 
> _______________________________________________
> OpenAFS-devel mailing list
> OpenAFS-devel@openafs.org
> https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
>