I changed a setup to make the server response quicker, and the
client slower. Looks OK now. So the problem seems like too many
pending tcp requests stucks the client system. Is there any good
way to control the flow or pending requests of the system? I
tried to set some threshold in do_nbd_requests, only blocks the
processes in _get_request_wait() which is not I wanted.
From: Steven Whitehouse [mailto:firstname.lastname@example.org]
Sent: Friday, November 16, 2001 5:16 AM
To: chen, xiangping
Subject: Re: The memory usage of the network block device
I'm on holiday this week, so apologies in advance if my replies are not
as prompt as they would otherwise be....
Which kernel version are you using ? What are your settings in the
/proc/sys/net/ipv4/tcp_*mem files or did you just use the default
values ? Did you run the nbd server on the same machine as the client ?
How much memory do you have in the machine that you are testing with ?
Its a little while since I looked at nbd in detail, so if you can send me
enough info to reproduce your set up, then I'll try and have a go in the
next few days,
> I am trying to use the network block device in the Linux kernel.
> The nbd works good in light io load, but during intensive io load
> testing, it seems that it fails to release the memory fast enough.
> Eventually the driver blocks at tcp_sendmsg, and waits for the
> memory that seems never come. A simple bonnie test to create
> a file about the size of the host memory shows the problem.
> Is there any way to free up memory more quickly? or why the
> network memory is held without being released?
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to email@example.com
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/