discussion on ioremap()

I wonder what if ioremap()/iounmap is called by diffrent threads (system calls in to kernels from diffrent processes). Consider example:

1)thread A does addr0=ioremap (address0, len); do something else; sleep. 2)B thread does add1=ioremap(address0, len); do something, then call iounmap(addr1); 3)A does something, then call iounmap(addr0).

Does that matter?

Condider a different situation. memory looks like this; add0 ... addr1(addr1=addr0 + l1)

addr2(addr=add0+l0).

1)thread A does addr0=ioremap (address0, l0); do something else; sleep. 2)B thread does add1=ioremap(address0, l1); do something, then call iounmap(addr1); 3)A does something, then call iounmap(addr0).
Reply to
ask
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.