Re: [Myricom help #6325] --disable-directcopy in mpich
Pete Wyckoff <[email protected]>
| Newsgroups | gmane.network.myrinet.general |
|---|---|
| Message-ID | <[email protected]> |
[email protected] said: > Pete Wyckoff wrote: > > > before that oops. Are you sure you can call free_pages() on a highmem > > page? > > > Perhaps I shouldn't be expecting gm to work with linux 2.4.0 with > > highmem enabled? > > Arghh, now I remember :-) > We talked with Andrea Archangeli, who manages the Linux VM subsystem, at > Linux World (thanks to Anas Nashif from Suse). He told us that > free_page() was not a good idea with higmem pages. The good call is > __free_pages(). The second call does not need to kmap/kunmap the pages. > > It's funny, the 2 only places in GM where we have to care about highmem > pages are in the directcopy code and the free_page() call in the > deregistration code: exactely where you have problems. The kmap/kunmap > trick is maybe not safe... Yeah. free_page() just looks up the struct page* and calls __free_pages() anyway. If all you're trying to do is drop the page count, you can skip the map/unmap, I think. Perhaps my issue with the swap was related to the page moving out to swap during that short time that you have it mapped in. -- Pete