> On 30 Nov 2015, at 9:01 AM, Steven Chamberlain <ste...@pyro.eu.org> wrote:
> 
> Hi!
> 
> David Gwynne wrote:
>> could you guys try this and let me know how it goes? i dont expect
>> it to fix the problems, but i also dont expect them to get worse.
> 
> I've never seen those panics with dc(4), but I'm now testing -CURRENT
> with your patch applied as well as mine below, and my Netra X1 is stable
> so far.  Thanks!

hrm. could you try it without your diff below and see if its still stable?

my theory is dc is (was?) sensitive to the layout of objects in memory, so by 
moving the pool page headers in or out of the item pages you're moving dc next 
to something that ends up causing the iommu to fault.

cheers,
dlg


> 
> --- kern/subr_pool.c    11 Sep 2015 09:26:13 -0000      1.193
> +++ kern/subr_pool.c    29 Nov 2015 22:59:21 -0000
> @@ -258,7 +258,7 @@ pool_init(struct pool *pp, size_t size, 
>         */
>        if (pgsize - (size * items) > sizeof(struct pool_item_header)) {
>                off = pgsize - sizeof(struct pool_item_header);
> -       } else if (sizeof(struct pool_item_header) * 2 >= size) {
> +       } else if (sizeof(struct pool_item_header) * 8 >= size) {
>                off = pgsize - sizeof(struct pool_item_header);
>                items = off / size;
>        }
> 
> Regards,
> -- 
> Steven Chamberlain
> ste...@pyro.eu.org

Reply via email to