> One other optimisation to think about: As you know, if a non-blocking > lookup of the thinp mapping fails, the bio gets handed across to a > worker thread to do the blocking lookup. Is there any way to you > could make dm_bm_read_try_lock() pass a preload hint to bufio, since > we know that block is going to be required in the near future? > > - Joe No, you can't submit any IOs in the request handler (i.e. in dm's "map" function). Such IOs are queued and delayed until the request handler exits. If it I did it, there would be IO hanging which is not going to be finished and a deadlock possibility. For example: * process 1 submits a bio in the request handler, bio submittion waits until the request handler exits * process 2 takes the dm-bufio mutex and waits for this bio to be finished (thus, it waits for the request handler of process 1 to finish) * process 1 tries to take the dm-bufio mutex again in the same request handler, waiting for process 2, which waits for process 1 --- deadlock. Mikulas -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel