[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [patch #4818] Dynamic memory allocation for Linux Device drivers in
Re: [patch #4818] Dynamic memory allocation for Linux Device drivers in glue. [PATCH] [LONG]
Sun, 22 Jan 2006 04:06:41 +0100
On 1/22/06, Thomas Bushnell BSG <address@hidden> wrote:
> Obviously vm bugs are very painful to debug when they happen. Can you
> briefly describe what testing this patch has undergone? (How
> stressful a test, importantly?)
Yes, this is THE question.
Well, I started writing and testing this code around 6 months / 1 year
ago. I used it as a base for my StoMach branch of GNU Mach (which
basically is GNUMach 1.x without linux glue and exporting COM objects
for OSKit's drivers). I remember to have done some test to check that
the code was doing what I expected. While porting the patch to GNUMach
I simply added the linux/dev/init/main.c and linux/dev/glue/kmem.c
stuff, which is very simple and doesn't require particular testing.
The vm_resident's multipage allocator, that is
vm_page_grab_contiguous_queue, require some more intensive testing.
When I wrote it, infact, I was more interested in showing that it was
possible to use oskit drivers in GNUMach 1.x with few hacks, so I
basically extended the previous existing function (I have some serious
doubts about the alignment functionality I added).
Anyways, that function needs to be rewritten. I am going to post a
rewrite of that function, that should have an O(1) behaviour. I'd
prefer to test intensively that.
Ah, linux's glue page collecting (which is now disabled) need to be
tested too, but again, those bugs are visible, as opposed to vm's
This is an experimental patch, it seems to works very well -- both in
stomach and in GNUMach -- but do not take it as bug free , even
because it's touching really serious internal parts of Mach.
Hope this helps.
It was a type of people I did not know, I found them very strange and
they did not inspire confidence at all. Later I learned that I had been
introduced to electronic engineers.
E. W. Dijkstra