Re: contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Alfred Perlstein
* Warner Losh <[EMAIL PROTECTED]> [010122 13:09] wrote: > In message <[EMAIL PROTECTED]> Alfred Perlstein writes: > : > Yes, this looks to be much closer to the interface I really wanted > : > anyway. I see no man pages for them. Is there any doc anywhere? "Read > : > the source and look at exi

Re: contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Mike Smith
> If busdma is "pretty broken" for network-sized requests, I may just > avoid it for now, implement the contigmalloc cache, and move on to more > interesting problems. It's broken for network-sized requests because it uses contigmalloc. 8) The cache approach will work equally well for either int

Re: contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Robert Lipe
> > > there's a problem because there's no busdma for mbufs (well > > > actually there is but it fails on really small unaligned blocks > > > which basically breaks it for mbufs). > > > > Can you tell me more about this hazard? I can't control the > > alignment that's asked for by the driver, but

Re: contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Warner Losh
In message <[EMAIL PROTECTED]> Alfred Perlstein writes: : > Yes, this looks to be much closer to the interface I really wanted : > anyway. I see no man pages for them. Is there any doc anywhere? "Read : > the source and look at existing examples" will do if it must but any : > pointers to bette

Re: contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Alfred Perlstein
* Robert Lipe <[EMAIL PROTECTED]> [010122 12:50] wrote: > Alfred Perlstein wrote: > > > > So if I sandbagged the allocs to be *larger* the KMA would behave more > > > consistently with what I'd expect becuase it would then reclaim? I > > > didn't see that one coming. :-) > > > > but... this is

Re: contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Robert Lipe
Alfred Perlstein wrote: > > So if I sandbagged the allocs to be *larger* the KMA would behave more > > consistently with what I'd expect becuase it would then reclaim? I > > didn't see that one coming. :-) > > but... this is a terrible workaround, I'm not sure it would work > and you shouldn't

Re: contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Mike Smith
> > Is there an s/g memory interface in FreeBSD? This was my first choice, > > but since I couldn't find a set of functions to build a list of buffers > > that satisfied a set of constraints, I fell back to contigmalloc to get > > things off the ground. I'd be delighted to use an interface to ge

Re: contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Mike Smith
> Aaaah. There's a hint. Yes, by the time we get into trouble, I've > allocated (and freed) several thousand chunks that are < PAGE_SIZE/2. > This is happening in periods of a few dozen. (I don't know the number, > but I think it's 48 or 64.) The test program allocates a few dozen tx > buffers,

Re: contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Alfred Perlstein
* Robert Lipe <[EMAIL PROTECTED]> [010122 11:21] wrote: > > > In this case, the resource failure isn't temporary. Once it starts > > > failing, it fails until the system is rebooted. Since this is on a > > > dedicated thread, I could handle it if it really was temporary. Of > > > course, puttin

Re: contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Mike Smith
> I'm calling contigmalloc() with M_WAITOK. For every contigmalloc, I > have a corresponding contigfree(). But after a few thousand cycles, > contigmalloc() starts returning NULL. It self-destructs in about 3 > minutes. I see the same behaviour with M_NOWAIT. As an aside, WAITOK's > should ne

Re: contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Robert Lipe
> > In this case, the resource failure isn't temporary. Once it starts > > failing, it fails until the system is rebooted. Since this is on a > > dedicated thread, I could handle it if it really was temporary. Of > > course, putting me to sleep so that someone else (or even another of my > > ow

Re: contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Alfred Perlstein
* Robert Lipe <[EMAIL PROTECTED]> [010122 10:39] wrote: > Alfred Perlstein wrote: > > * Robert Lipe <[EMAIL PROTECTED]> [010122 09:04] wrote: > > > Memory get's fragmented, there's not much you can do about it. I > > doubt that contigmalloc respects the WAITOK flag, there's a good > > chance tha

Re: contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Robert Lipe
Alfred Perlstein wrote: > * Robert Lipe <[EMAIL PROTECTED]> [010122 09:04] wrote: > > I'm calling contigmalloc() with M_WAITOK. For every contigmalloc, I > > have a corresponding contigfree(). But after a few thousand cycles, > > contigmalloc() starts returning NULL. It self-destructs in about

Re: contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Alfred Perlstein
* Robert Lipe <[EMAIL PROTECTED]> [010122 09:04] wrote: > Hi, Gang. > > I know that anytime a message starts with a subject like this, the > first reaction is to think that I've hosed the heap or am not freeing > something. While it's possible, I really don't think I have. (I also > know that e

contigmalloc, M_WAITOK, & leaks.

2001-01-22 Thread Robert Lipe
Hi, Gang. I know that anytime a message starts with a subject like this, the first reaction is to think that I've hosed the heap or am not freeing something. While it's possible, I really don't think I have. (I also know that everyone thinks that. :-) I'm on FreeBSD 4.1.1. I've not seen any f