lkml.org 
[lkml]   [2014]   [Aug]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PANIC, hyperv] BUG: unable to handle kernel paging request at ffff880077800004 (hv_ringbuffer_write)
Date
> -----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


\
 
 \ /
  Last update: 2014-08-29 06:21    [W:0.078 / U:0.244 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site