Does it help if you just remove the
if (atomic_read(&page->count) > 2)
goto out;
from shmem_writepage()?
It _shouldn't_ matter (because writepage() should only be called with
inactive pages anyway), but your problem certainly sounds like your
inactive dirty list is not able to write out shmfs pages.
Note that if you don't have swap, you're screwed anyway. You just don't
have anywhere to put the pages.
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/