All of lore.kernel.org
 help / color / mirror / Atom feed
* Posted Write onto a PCI end point device using Linux
@ 2010-12-07 11:29 Sanka Piyaratna
  2010-12-08  1:46 ` Robert Hancock
  0 siblings, 1 reply; 5+ messages in thread
From: Sanka Piyaratna @ 2010-12-07 11:29 UTC (permalink / raw)
  To: linux-kernel

Hi,


I am wondering whether it is possible to issue a posted write using the host 
computer's root complex towards an PCI express end point. I have done this using 

DMA in the past. However, if posted writes are possible that would save a lot of 

time and effort and would be quicker too.

Thanks,
Sanka


      

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Posted Write onto a PCI end point device using Linux
  2010-12-07 11:29 Posted Write onto a PCI end point device using Linux Sanka Piyaratna
@ 2010-12-08  1:46 ` Robert Hancock
       [not found]   ` <597621.83948.qm@web31707.mail.mud.yahoo.com>
  0 siblings, 1 reply; 5+ messages in thread
From: Robert Hancock @ 2010-12-08  1:46 UTC (permalink / raw)
  To: Sanka Piyaratna; +Cc: linux-kernel

On 12/07/2010 05:29 AM, Sanka Piyaratna wrote:
> Hi,
>
>
> I am wondering whether it is possible to issue a posted write using the host
> computer's root complex towards an PCI express end point. I have done this using
>
> DMA in the past. However, if posted writes are possible that would save a lot of
>
> time and effort and would be quicker too.

Writes from the CPU to PCI memory are always posted. However, the posted 
write buffer size is usually quite limited and so this probably will 
still cause CPU overhead when writing any significant amount of data 
this way.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Posted Write onto a PCI end point device using Linux
       [not found]   ` <597621.83948.qm@web31707.mail.mud.yahoo.com>
@ 2010-12-08  4:55     ` Robert Hancock
  2010-12-08  6:05       ` Sanka Piyaratna
  0 siblings, 1 reply; 5+ messages in thread
From: Robert Hancock @ 2010-12-08  4:55 UTC (permalink / raw)
  To: Sanka Piyaratna; +Cc: linux-kernel

On Tue, Dec 7, 2010 at 9:57 PM, Sanka Piyaratna <cesanka@yahoo.com> wrote:
> Hi Robert,
> Could you please tell me how I can initiate a posted write towards a PCIe
> endpoint with larger than 32 bit payload using Linux?
> Thanks and regards,

You can try writeq to get a 64-bit payload, but I don't think it's
available on all platforms. In particular with a 32-bit CPU, it may
not be possible at all. If you need to send bigger payloads then you
need to use DMA.

>
> Sanka Piyaratna
>
> ________________________________
> From: Robert Hancock <hancockrwd@gmail.com>
> To: Sanka Piyaratna <cesanka@yahoo.com>
> Cc: linux-kernel@vger.kernel.org
> Sent: Wed, 8 December, 2010 12:16:54 PM
> Subject: Re: Posted Write onto a PCI end point device using Linux
>
> On 12/07/2010 05:29 AM, Sanka Piyaratna wrote:
>> Hi,
>>
>>
>> I am wondering whether it is possible to issue a posted write using the
>> host
>> computer's root complex towards an PCI express end point. I have done this
>> using
>>
>> DMA in the past. However, if posted writes are possible that would save a
>> lot of
>>
>> time and effort and would be quicker too.
>
> Writes from the CPU to PCI memory are always posted. However, the posted
> write buffer size is usually quite limited and so this probably will
> still cause CPU overhead when writing any significant amount of data
> this way.
>
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Posted Write onto a PCI end point device using Linux
  2010-12-08  4:55     ` Robert Hancock
@ 2010-12-08  6:05       ` Sanka Piyaratna
  2010-12-08 15:23         ` Robert Hancock
  0 siblings, 1 reply; 5+ messages in thread
From: Sanka Piyaratna @ 2010-12-08  6:05 UTC (permalink / raw)
  To: Robert Hancock; +Cc: linux-kernel

Thanks for that Robert. When you say DMA, this has to be implemented at the 
endpoint device doesn't it? There is no DMA mode on the CPU for doing this is 
there?

 Sanka Piyaratna




________________________________
From: Robert Hancock <hancockrwd@gmail.com>
To: Sanka Piyaratna <cesanka@yahoo.com>
Cc: linux-kernel@vger.kernel.org
Sent: Wed, 8 December, 2010 3:25:47 PM
Subject: Re: Posted Write onto a PCI end point device using Linux

On Tue, Dec 7, 2010 at 9:57 PM, Sanka Piyaratna <cesanka@yahoo.com> wrote:
> Hi Robert,
> Could you please tell me how I can initiate a posted write towards a PCIe
> endpoint with larger than 32 bit payload using Linux?
> Thanks and regards,

You can try writeq to get a 64-bit payload, but I don't think it's
available on all platforms. In particular with a 32-bit CPU, it may
not be possible at all. If you need to send bigger payloads then you
need to use DMA.

>
> Sanka Piyaratna
>
> ________________________________
> From: Robert Hancock <hancockrwd@gmail.com>
> To: Sanka Piyaratna <cesanka@yahoo.com>
> Cc: linux-kernel@vger.kernel.org
> Sent: Wed, 8 December, 2010 12:16:54 PM
> Subject: Re: Posted Write onto a PCI end point device using Linux
>
> On 12/07/2010 05:29 AM, Sanka Piyaratna wrote:
>> Hi,
>>
>>
>> I am wondering whether it is possible to issue a posted write using the
>> host
>> computer's root complex towards an PCI express end point. I have done this
>> using
>>
>> DMA in the past. However, if posted writes are possible that would save a
>> lot of
>>
>> time and effort and would be quicker too.
>
> Writes from the CPU to PCI memory are always posted. However, the posted
> write buffer size is usually quite limited and so this probably will
> still cause CPU overhead when writing any significant amount of data
> this way.
>
>



      

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Posted Write onto a PCI end point device using Linux
  2010-12-08  6:05       ` Sanka Piyaratna
@ 2010-12-08 15:23         ` Robert Hancock
  0 siblings, 0 replies; 5+ messages in thread
From: Robert Hancock @ 2010-12-08 15:23 UTC (permalink / raw)
  To: Sanka Piyaratna; +Cc: linux-kernel

On Wed, Dec 8, 2010 at 12:05 AM, Sanka Piyaratna <cesanka@yahoo.com> wrote:
> Thanks for that Robert. When you say DMA, this has to be implemented at the
> endpoint device doesn't it? There is no DMA mode on the CPU for doing this is
> there?

No, there's not (on typical hardware, anyway).

>
>  Sanka Piyaratna
>
>
>
>
> ________________________________
> From: Robert Hancock <hancockrwd@gmail.com>
> To: Sanka Piyaratna <cesanka@yahoo.com>
> Cc: linux-kernel@vger.kernel.org
> Sent: Wed, 8 December, 2010 3:25:47 PM
> Subject: Re: Posted Write onto a PCI end point device using Linux
>
> On Tue, Dec 7, 2010 at 9:57 PM, Sanka Piyaratna <cesanka@yahoo.com> wrote:
>> Hi Robert,
>> Could you please tell me how I can initiate a posted write towards a PCIe
>> endpoint with larger than 32 bit payload using Linux?
>> Thanks and regards,
>
> You can try writeq to get a 64-bit payload, but I don't think it's
> available on all platforms. In particular with a 32-bit CPU, it may
> not be possible at all. If you need to send bigger payloads then you
> need to use DMA.
>
>>
>> Sanka Piyaratna
>>
>> ________________________________
>> From: Robert Hancock <hancockrwd@gmail.com>
>> To: Sanka Piyaratna <cesanka@yahoo.com>
>> Cc: linux-kernel@vger.kernel.org
>> Sent: Wed, 8 December, 2010 12:16:54 PM
>> Subject: Re: Posted Write onto a PCI end point device using Linux
>>
>> On 12/07/2010 05:29 AM, Sanka Piyaratna wrote:
>>> Hi,
>>>
>>>
>>> I am wondering whether it is possible to issue a posted write using the
>>> host
>>> computer's root complex towards an PCI express end point. I have done this
>>> using
>>>
>>> DMA in the past. However, if posted writes are possible that would save a
>>> lot of
>>>
>>> time and effort and would be quicker too.
>>
>> Writes from the CPU to PCI memory are always posted. However, the posted
>> write buffer size is usually quite limited and so this probably will
>> still cause CPU overhead when writing any significant amount of data
>> this way.
>>
>>
>
>
>
>
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-12-08 15:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-07 11:29 Posted Write onto a PCI end point device using Linux Sanka Piyaratna
2010-12-08  1:46 ` Robert Hancock
     [not found]   ` <597621.83948.qm@web31707.mail.mud.yahoo.com>
2010-12-08  4:55     ` Robert Hancock
2010-12-08  6:05       ` Sanka Piyaratna
2010-12-08 15:23         ` Robert Hancock

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.