tech-kern archive

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

Re: Fixing excessive shootdowns during FFS read (kern/53124) on x86 - emap, direct map



2018-05-12 21:24 GMT+02:00 Chuck Silvers <chuq%chuq.com@localhost>:
> the problem with keeping the pages locked (ie. PG_BUSY) while accessing
> the user address space is that it can lead to deadlock if the page
> we are accessing via the kernel mapping is the same page that we are
> accessing via the user mapping.

The pages marked PG_BUSY for the UBC transfer are part of page cache.
I sincerely hope it's impossible to have any user mapping for it.

Is there are any other scenario for the deadlock in this context?

That said, the PG_BUSY is at least a scalability problem, since it
restricts the copy operation within the UBC window to only one at a
time. Old code holds PG_BUSY only during the fault - with exception of
the UBC_FAULTBUSY branch, which still keeps the lock during the whole
operation.

Jaromir


Home | Main Index | Thread Index | Old Index