On Sun, Oct 26, 2003 at 03:34:05PM -0500, Jeff Roberson wrote:
> On Sun, 26 Oct 2003, Alan Cox wrote:
> > With this change, you may see:
> > lock order reversal
> > 1st 0xc24aab90 vm object (vm object) @ vm/swap_pager.c:1319
> > 2nd 0xc070f180 swap_pager swhash (swap_pager swhash) @ vm/swap_pager.c:1832
> > 3rd 0xc1036b90 vm object (vm object) @ vm/uma_core.c:876
> > This is also a false positive. The only vm object that is locked
> > after acquiring the "swap_pager swhash" mutex is one used internally
> > in UMA. We will never acquire this vm object's mutex followed by
> > the "swap_pager swhash" mutex.
> Does the swap_zone really need a backing object? This is just so the
> operation wont fail for lack of kva, right? Is this really necessary
> here? I thought we did it before so that we could allocate at interrupt
> time, since pages could be allocated, but kva could not. I doubt this
> code runs at real interrupt time anymore.
What would you propose? I believe switching to page_alloc() would
also produce a false LOR warning.
> > Regards,
> > Alan
> > On Sun, Oct 26, 2003 at 11:55:35AM -0800, Alan Cox wrote:
> > > alc 2003/10/26 11:55:35 PST
> > >
> > > FreeBSD src repository
> > >
> > > Modified files:
> > > sys/vm swap_pager.c
> > > Log:
> > > - Introduce and use a mutex synchronizing access to the swblock hash table.
> > >
> > > Revision Changes Path
> > > 1.234 +20 -4 src/sys/vm/swap_pager.c