Messages in this thread |  | | From | bsuparna@in ... | Date | Fri, 10 Nov 2000 14:59:27 +0530 | Subject | Re: Oddness in i_shared_lock and page_table_lock nesting hierarchies ? |
| |
>Let me save you some time, below is the fix I sent to >Linus this evening:
Yes it does :-) Thanks.
I had started making changes along similar lines, and then as I realized all the places it'd affect, I got a little diverted trying to see if there was a way to do it without having to bring the locks out of the common insert routines; whether it was possible to avoid having to hold i_shared_lock and page_table_lock simultaneously (other than in vmtruncate of course), through a careful sequencing of steps, since we really need to serialize only with truncate and the page stealer (as the mm sem takes care of most other cases). Unmap does that now as it crosses multiple objects (unlike the other cases where luckily we just have one object at a time, which makes it possible to bring the i_shared_lock to the top).
But it gets kind of complicated and harder to verify correctness or generalize such an approach. So your fix looks like a natural and consistent way to do this.
Now I can get back to what I was originally working on when I hit this :-)
- Suparna
Suparna Bhattacharya Systems Software Group, IBM Global Services, India E-mail : bsuparna@in.ibm.com Phone : 91-80-5267117, Extn : 2525
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |