Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1630434 > unrolled thread
| Started by | Sreekanth Reddy <sreekanth.reddy@broadcom.com> |
|---|---|
| First post | 2017-04-25 14:00 +0200 |
| Last post | 2017-04-27 11:20 +0200 |
| Articles | 3 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [RESEND][PATCH 07/10][SCSI]mpt2sas: Added Reply Descriptor Post Queue (RDPQ) Array support Sreekanth Reddy <sreekanth.reddy@broadcom.com> - 2017-04-25 14:00 +0200
Re: [RESEND][PATCH 07/10][SCSI]mpt2sas: Added Reply Descriptor Post Queue (RDPQ) Array support "Martin K. Petersen" <martin.petersen@oracle.com> - 2017-04-27 00:30 +0200
RE: [RESEND][PATCH 07/10][SCSI]mpt2sas: Added Reply Descriptor Post Queue (RDPQ) Array support Kashyap Desai <kashyap.desai@broadcom.com> - 2017-04-27 11:20 +0200
| From | Sreekanth Reddy <sreekanth.reddy@broadcom.com> |
|---|---|
| Date | 2017-04-25 14:00 +0200 |
| Subject | Re: [RESEND][PATCH 07/10][SCSI]mpt2sas: Added Reply Descriptor Post Queue (RDPQ) Array support |
| Message-ID | <tA7iq-4eL-11@gated-at.bofh.it> |
On Thu, Jul 24, 2014 at 1:16 AM, Martin K. Petersen <martin.petersen@oracle.com> wrote: >>>>>> "Sreekanth" == Sreekanth Reddy <sreekanth.reddy@avagotech.com> writes: > > Sreekanth, > > Sreekanth> 2. As per MPI Spec, each set of 8 reply descriptor post > Sreekanth> queues must have the same value for the upper 32-bits of > Sreekanth> their memory address. So allocated set of eight queues in a > Sreekanth> single pool and added a new function is_MSB_are_same() to > Sreekanth> check whether higher 32 bits of this pool memory address are > Sreekanth> same or not. If this functions returns zero then we are > Sreekanth> saving these pools in the bad_reply_post_pool list. then > Sreekanth> releasing these pools once we get the required memory pools. > > Why don't you just set pci_set_consistent_dma_mask() to DMA_BIT_MASK(32) > before you allocate the queue entries? Martin, I am taking out this old mail to find out is their any other better way to make sure that allocated DMA pool doesn't cross particular boundary line (in our case all upper 32 bits of this pool should be same, i.e. all the buffer from the pool should be within the 4GB boundary). We need to satisfy this condition on those system where 32 bit dma consistent mask is not supported and it only supports 64 bit dma consistent mask. So on these system we can't set pci_set_consistent_dma_mask() to DMA_BIT_MASK(32). Thanks, Sreekanth > > -- > Martin K. Petersen Oracle Linux Engineering
[toc] | [next] | [standalone]
| From | "Martin K. Petersen" <martin.petersen@oracle.com> |
|---|---|
| Date | 2017-04-27 00:30 +0200 |
| Subject | Re: [RESEND][PATCH 07/10][SCSI]mpt2sas: Added Reply Descriptor Post Queue (RDPQ) Array support |
| Message-ID | <tADBD-b2-9@gated-at.bofh.it> |
| In reply to | #1630434 |
Sreekanth, > We need to satisfy this condition on those system where 32 bit dma > consistent mask is not supported and it only supports 64 bit dma > consistent mask. So on these system we can't set > pci_set_consistent_dma_mask() to DMA_BIT_MASK(32). Which systems are you talking about? It seems a bit unrealistic to require all devices to support 64-bit DMA. -- Martin K. Petersen Oracle Linux Engineering
[toc] | [prev] | [next] | [standalone]
| From | Kashyap Desai <kashyap.desai@broadcom.com> |
|---|---|
| Date | 2017-04-27 11:20 +0200 |
| Message-ID | <tANKF-6Ty-3@gated-at.bofh.it> |
| In reply to | #1631768 |
> -----Original Message----- > From: linux-scsi-owner@vger.kernel.org [mailto:linux-scsi- > owner@vger.kernel.org] On Behalf Of Martin K. Petersen > Sent: Thursday, April 27, 2017 3:55 AM > To: Sreekanth Reddy > Cc: Martin K. Petersen; jejb@kernel.org; linux-scsi@vger.kernel.org; linux- > kernel@vger.kernel.org; Christoph Hellwig > Subject: Re: [RESEND][PATCH 07/10][SCSI]mpt2sas: Added Reply Descriptor > Post Queue (RDPQ) Array support > > > Sreekanth, > > > We need to satisfy this condition on those system where 32 bit dma > > consistent mask is not supported and it only supports 64 bit dma > > consistent mask. So on these system we can't set > > pci_set_consistent_dma_mask() to DMA_BIT_MASK(32). > > Which systems are you talking about? > > It seems a bit unrealistic to require all devices to support 64-bit DMA. Martin - We have found all devices to support 64-bit DMA on certain ARM64 platform. I discussed @linux-arm-kern. Below is a thread. http://marc.info/?l=linux-arm-kernel&m=148880763816046&w=2 For ARM64, it is not supporting SWIOTLB and that is a reason we need to make all DMA pool above 4GB. Ea. If I map crash kernel above 4GB in x86_64 platform, they owner DMA 32 bit mask since arch specific code in x86_64 support SWIOTLB. Same settings on ARM64 platform fails DAM 32 bit mask. In one particular setup of ARM64, I also see below 4GB is mapped to SoC and kernel component mapped above 4GB region. Can we add in MR/IT driver below logic to meet this requirement ? - Driver will attempt DMA buffer above 4GB and check the start and end address of the physical address. If DMA buffer cross the "Same 4GB region" ( I mean High Address should be constant for that region.), driver will hold that region and attempt one more allocation. If second allocation is also not meeting "Same 4GB region", we will give up driver load. Before we attempt above logic, we would like to understand if we have any other reliable method ways to handle this in Linux. Most of the time, we are going to get "same 4GB region", so we are OK to have this corner case to detect and bail out driver load. There is no report of issue from field, but wanted to protect failure for future. Thanks, Kashyap > > -- > Martin K. Petersen Oracle Linux Engineering
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web