[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH net-next] pktgen: Fill the payload optionally with a pattern
On 27/06/14 20:30, David Miller wrote: From: Zoltan Kiss <zoltan.kiss@xxxxxxxxxx> Date: Fri, 27 Jun 2014 10:01:23 +0100On 26/06/14 01:54, David Miller wrote:From: Zoltan Kiss <zoltan.kiss@xxxxxxxxxx> Date: Tue, 24 Jun 2014 21:40:15 +0100Introduces a new flag called PATTERN, which puts a non-periodic, predicatble pattern into the payload. This was useful to reproduce an otherwise intermittent bug in xen-netback [1], where checksum checking doesn't help. The pattern is a repetition of " %lu", a series of increasing numbers divided by space. The value of the number is the size of the preceding payload area. E.g. " 1 3 5"..." 1000 1005 1010" If the pattern is used, every frag will have its own page, unlike before, so it needs more memory. [1] 5837574: xen-netback: Fix grant ref resolution in RX path Signed-off-by: Zoltan Kiss <zoltan.kiss@xxxxxxxxxx>You are changing the page allocation strategy regardless of the pattern setting, this is undesirable. It may be significantly faster to use the same page for all the frags, and this is absolutely critical for pktgen usage where every nanosecond of performance counts.If the PATTERN flag is not used, it always using the pages[0] page, so it falls back to the original way.That's now what I see. If the size exceeds a page, the current code will use the same page over and over again. Your new code always increments 'i' and allocates a new page, regardless of whether the PATTERN flag is set. Or do I misread your changes? My first patch uses fragpage to index the pages array, and it is always 0, if the PATTERN frag were not specified. (i was incremented by the old code as well btw.) The second one (see it in the other thread) adds individual frag size and offset, if that exceeds PAGE_SIZE, then it always reallocate the page, but I guess that's not a terrible thing, as the aim here is not performance testing, but finding bugs. But I can add a further checking to compare the allocation order of the current page with the required one. Also, I think I should keep the __GFP_ZERO flags for every page allocation. Even if I fill up the frag with a pattern, it's better to have a deterministic content on the rest of the page, just in case some royal screwup leaks data from the rest of the page. Also, turning off the PATTERN flag doesn't reallocate the pages, so the next packet will have the pattern from the previous instead of zeros. Zoli _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |