Martin Wilck <[email protected]> wrote:
>
> > It might be neater to do this at the mempool level: that way we're adding
> > general-purpose infrastructure and then just using it, rather than
> > special-casing the bounce code.
> >
> > See below a (n untested) patch against the latest devel tree. It won't be
> > stunningly scalable on big SMP, but the overhead of bouncing will probably
> > hide that.
>
> I don't quite understand your patch. You introduce a "limit" field but
> you never actually use it. You also don't count the allocated pages.
> Are you using the semaphore for slowing things down on purpose?
The semaphore is initialised with the limit level, so once it has been
down()ed more than `limit' times, processes will block until someone does
up().
> (Note that the problem is not in the mempool allocation itself but in
> the "normal" allocation path (page_pool_alloc() -> alloc_page()))
yup. The semaphore will prevent more than `limit' pages being allocated at
any point in time.
> Anyway, I think could figure out your patch but with 2.6.12-rc5-mm2 I
> couldn't reproduce the problem any more.
Oh bugger.
> It appears to run much more
> smoothly now, perhaps because wakeup_bdflush() isn't called any more.
> Are you still interested in more data?
Perhaps the newer kernel has writeback thresholding fixes so it's not
possible to dirty as much memory with write().
You can probably trigger the same problem if the memory is instead dirtied
with mmap(MAP_SHARED).
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]