All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Andreas Olsowski <andreas.olsowski@leuphana.de>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: megasas stops I/O when running kernel as dom0 under xen4.1/4.2
Date: Fri, 19 Aug 2011 17:49:39 +0100	[thread overview]
Message-ID: <4E4E9423.8010904@citrix.com> (raw)
In-Reply-To: <4E4E913C.40809@leuphana.de>



On 19/08/11 17:37, Andreas Olsowski wrote:
> Am 19.08.2011 16:57, Andrew Cooper:
>
>>
>> This further confirms my findings.
>>
>> Do you mind intserting a call to pci_enable_msi() in the probe function
>> and see if that sorts out your two problem cases?
>>
>
>    /* Try to enable MSI-X */
>    if ((instance->pdev->device != PCI_DEVICE_ID_LSI_SAS1078R) &&
>        (instance->pdev->device != PCI_DEVICE_ID_LSI_SAS1078DE) &&
>        (instance->pdev->device != PCI_DEVICE_ID_LSI_VERDE_ZCR) &&
>        !msix_disable && !pci_enable_msix(instance->pdev,
> &instance->msixentry, 1))
>       instance->msi_flag = 1;
>
>    /*
>
> My device is a:
> 01:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS
> 1078 (rev 04)
>
> and this excluded for some reason.
> There are more references to this particular type of raid controller.
>
> Can you think of a reason why msi would not work on some specific
> harware?
>
> Anyway since i dont have much C-experience and wouldnt know where to
> put " pci_enable_msi() " exactly, i modified the  above mentioned code
> to just do:
> instance->msi_flag = 1;
>
> I also removed "options megaraid_sas poll_mode_io=1" from the module
> options.
>
> The kernel did not boot properly at that point.
> Something about /dev not beeing mounted due to missing device.
> Followed by udev not doing much and the system generally doing nothing
> that would further the bootup process.
>
> So i went back to put that module option in again.
>
> It still did not boot properly, here is some output:
> Loading, please wait...
> mount: mounting none on /dev failed: No such device
> ...
> megasas: 00.00.05.30 Tue. Jan. 4 17:00:00 PDT 2011
> megasas: 0x1000:0x0060:0x1028:0x1f0c: bus 1:slot 0:func 0
> megaraid_sas 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> megaraid_sas 0000:01:00.0: setting latency timer to 64
> megasas: FW now in Ready state
> megasas: cpx is not supported.
> megasas: INIT adapter done
> ...
> and then came the udev failing to load something and basically nothing
> happened after that point.
>
> I guess there really is a good reason not to enable msi for that type
> of controller.
>
> The fact that corresponding problems from not having the module option
> do not happen on bare-metal isnt very helpful either.
> Especially when you cant test the kernel bare-metal due to the fact
> that it wont boot bare-metal anymore ... but i digress.
>
> I guess an acceptable fix would be to make the module option a default
> for those raid controllers in the next version of the megasas modules.
>
> glad to be of service
>
> with best regards:
>

The only change you need to make is in megasas_probe_one() in
megaraid_sas_base.c

Add a call to pci_enable_msi(pdev) immediately after the current call to
pci_set_master(pdev);

~Andrew

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com

  reply	other threads:[~2011-08-19 16:49 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-11 13:59 megasas stops I/O when running kernel as dom0 under xen4.1/4.2 Andreas Olsowski
2011-08-11 16:27 ` Simon Rowe
2011-08-11 22:51   ` Konrad Rzeszutek Wilk
2011-08-12  6:31     ` xen.frontend flag for higher display resolution (vnc) for HVM domU domains Mark Schneider
2011-08-12  7:26       ` Marc - A. Dahlhaus
2011-08-12  7:42     ` megasas stops I/O when running kernel as dom0 under xen4.1/4.2 Simon Rowe
2011-08-12  9:11     ` Andreas Olsowski
2011-08-12  9:23       ` Simon Rowe
2011-08-15 10:49       ` Simon Rowe
2011-08-15 12:52         ` Andreas Olsowski
2011-08-19 12:28           ` Andrew Cooper
2011-08-19 14:17             ` Andreas Olsowski
2011-08-19 14:57               ` Andrew Cooper
2011-08-19 16:37                 ` Andreas Olsowski
2011-08-19 16:49                   ` Andrew Cooper [this message]
2011-08-19 18:10                     ` Andreas Olsowski
2011-08-22  9:05                       ` Andrew Cooper
2011-08-24 12:06                         ` Andrew Cooper
2011-08-24 16:57                           ` Andrew Cooper
2011-08-24 17:09                             ` Konrad Rzeszutek Wilk
2011-08-24 17:20                               ` Andrew Cooper
2011-08-26 18:16                                 ` Andrew Cooper
2011-08-26 18:32                                   ` Andrew Cooper
2011-08-30 12:02                                     ` Andreas Olsowski
2011-08-30 12:11                                       ` Andrew Cooper
2011-08-30 12:46                                         ` Keir Fraser
2011-08-12  9:02 ` Simon Rowe
2011-08-12 16:26   ` Pasi Kärkkäinen
2011-08-15  7:44     ` Simon Rowe
2011-08-12 16:25 ` Pasi Kärkkäinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E4E9423.8010904@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=andreas.olsowski@leuphana.de \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.