discussion on ioremap()

From: ask (ask8y_at_yahoo.com)
Date: 06/15/05

  • Next message: jdwander_at_gmail.com: "linux driver - insmod does nothing, init_module never called."
    Date: 15 Jun 2005 09:43:07 -0700
    
    

    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).


  • Next message: jdwander_at_gmail.com: "linux driver - insmod does nothing, init_module never called."