RE: [PANIC, hyperv] BUG: unable to handle kernel paging request at ffff880077800004 (hv_ringbuffer_write)

From: Dexuan Cui
Date: Thu Aug 28 2014 - 23:41:16 EST


> -----Original Message-----
> From: Sitsofe Wheeler
> Sent: Thursday, August 28, 2014 20:49 PM
> > > > The only issue seen on boot now is similar to
> > > > https://lkml.org/lkml/2014/8/19/227 ...
>
> > I don't see this issue. Do you still see the issue for EVERY boot
> > after you applied KY's always-use-page-allocation patch? I doubt that
> > because in the log of the above link:
>
> I think it depends on if I do a UP or SMP boot. With
> f1bd473f95e02bc382d4dae94d7f82e2a455e05d (post v3.17-rc2) with the V2
> BUG_ON
> patch set coupled with the allocation change patch set a UP boot was able
> to
> run a small bunch of CPU and network stress tests without any issue.
> However,
> when doing an SMP boot the following happened:
> <snip>
> We can spin these off into a different thread if that would be helpful.

Hi Sitsofe,
This seems a hv_netvsc specific issue(?)
IMO it's better to open a new thread.

However, I tried vcpus=1, 2 and 4 for 5 times respectively but couldn't
reproduce the same issue(surely I used all of KY's patches, including the
page-aligned-input-parameter-for-hypercall one)
I used a workload of dd-ing and scp-ing big files.

> > > > How come previous alignment efforts weren't working out?
> > I'm not sure.
> > If we trust the hypervisor, I would guess in hv_post_message()
> > 1) We'd better add "aligned_msg->reserved = 0;"
> > 2) Should we make sure "aligned_msg->payload_size % 8 == 0"? IMO
> > aligned_msg->payload is an array of 8-byte.
>
> In that case why would payload_size not be a multiple of 8 - can it
> change due to debug padding? If so wouldn't its start have had to be
> misaligned?

I found in some normal code path, e.g.,
vmbus_open() -> vmbus_post_msg() -> ...
(here the payload size is sizeof(struct vmbus_channel_open_channel),
i.e., 148, not a multiple of 8), the payload_size is not a multiple of 8.
I don't think this causes the issue here, but I think we'd better double
check this and see if there is a potential issue or not.

Thanks,
-- Dexuan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/