lkml.org 
[lkml]   [2006]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: Remapping pages mapped to userspace
From
Date
 > > Oh yeah... but getting rid of the mapping so userspace gets a segfault
> > might be a good idea too. However, leaving the old PCI mapping there
> > seems rather risky to me: I think it's entirely possible that accesses
> > to that area after the device is gone could trigger machine checks or
> > worse.
>
> Not really. After all the hot remove can race an actual mmio cycle so
> you can't close that window to nothing. In other words if it does make
> the PCI bridge burp at you - well hotplug has to handle it.
>
> That means on the positive side that all you need to do is refcount
> properly and destroy the PCI device when you have finished with it. If a
> mapping continues to exist then fine, because the device is still
> logically there. If the device is logically there then the resources
> have not been unmapped. If the resources have not been unmapped they are
> not free for allocation to another device.

I'm not sure I'm following you. Is it OK for a driver to return from
its pci_driver .remove method with userspace mappings to MMIO BARs
still hanging around? I wouldn't think so.

Non-privileged userspace processes can get direct access to (a safe
subset of) PCI space for IB devices, and it seems unfriendly to force
all of those processes to be killed before an IB device can be removed.

The way I think about it is that one doesn't have to kill every
process with a connected socket to remove an ethernet device, and I'd
like the same to hold for IB devices. The analogy doesn't really hold
at a technical level I know, but it still seems like the friendliest
interface.

Thanks,
Roland
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-03-17 03:18    [W:0.273 / U:0.248 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site