contigmalloc() and mmap()
julian at elischer.org
Mon Jun 13 19:50:27 GMT 2005
Scott Long wrote:
> Christoph Hellwig wrote:
>> On Mon, Jun 13, 2005 at 10:50:26AM -0700, Julian Elischer wrote:
>>> Several times in the past we've seen people complainign that Linux
>>> allows a device driver to know
>>> who called it and somehow it seems to store somewhere some
>>> information about who
>>> openned the device.. thos somehow allows linux to store an arbitrary
>>> for each openning process. I thin from the sond of it that he wants
>>> to do something
>>> similar. From the sond of it he wants to have a different buffer be
>>> used depending on
>>> who is calling. This would partly work but would not work when
>>> processes fork etc.
>>> I think Linux must do some extra housekeeping in this case.
>> What Linux does is pretty simple. The driver has access to the file
>> structure, and this structure has a field for driver private data.
>> It can store private data in open and free it again in the release
> How does linux handle the implications of fork(2) in this scenario?
both processes get the same field..
I don't think there is any special handling..
that would require a "forking" handler in each driver.
In practice it seems ot not be a problem.
More information about the freebsd-hackers