Hi Tommy,
I am using 2.4.3 code and in that linux/mm/vmallo.c contains the following
code which is slightly different from the patch you gave.
} while (address && (address < end));
unlock_kernel();
flush_tlb_all();
return ret;
Can you please suggest how to modify this.
Regards,
--Rajesh
On Thu, 16 May 2002, Tommy S. Christensen wrote:
> Alan Cox wrote:
> >
> > > But the same module is working fine and kernel is also fine if i use NFS
> > > and insert the module.
> > > Any further info ?
> >
> > Not really. The fact it works with NFS and not ramdisk may simply be that
> > in one case it corrupts memory that is used, and the other it corrupts
> > memory that isnt
>
> Using a ramdisk increases the pressure on memory. So the difference could
> be that one case hits the cache aliasing problem, the other doesn't.
>
> Try this patch and see if it helps.
>
> -Tommy
>
>
>
> Index: mm/vmalloc.c
> ===================================================================
> RCS file: /cvs/linux/mm/vmalloc.c,v
> retrieving revision 1.28
> retrieving revision 1.28.2.1
> diff -u -r1.28 -r1.28.2.1
> --- mm/vmalloc.c 2001/10/19 01:25:06 1.28
> +++ mm/vmalloc.c 2001/12/28 21:06:01 1.28.2.1
> @@ -163,6 +163,7 @@
> ret = 0;
> } while (address && (address < end));
> spin_unlock(&init_mm.page_table_lock);
> + flush_cache_all();
> return ret;
> }
>
|