NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PR/49328 CVS commit: src/sys/dev/pci/ixgbe



On Feb 1,  9:33am, chuq%chuq.com@localhost (Chuck Silvers) wrote:
-- Subject: Re: PR/49328 CVS commit: src/sys/dev/pci/ixgbe

| that is not legal.  pmap_growkernel() is not optional for kmem allocations
| which increase the maximum kmem address in use.
| 
| and before you try to dive in and make a nowait version of pmap_growkernel(),
| let's discuss if that's the way we want to resolve this.  it's currently
| illegal to allocate kernel memory (even with nowait/nosleep) while holding a
| spin mutex.  if we want to keep that restriction, then we just need to change
| this one driver to not do that.  if we want to relax that restriction,
| there a bunch of UVM and pmap changes needed.

I was not planning to do that (make a nowait version of pmap_growkernel)...
I was questioning exactly that: if a NOWAIT allocation should fail instead
of grabbing a mutex and only failing when LOCKDEBUG is active. Ideally code
that always fails in LOCKDEBUG mode, should not "work by accident" in regular
mode.

This pmap_growkernel code seems strange to me because it seems that it
is not allowed to fail (the result is not being checked in 2 of 3 places),
and perhaps the whole thing should be abstracted...

christos


Home | Main Index | Thread Index | Old Index