memwrite, Failed to seek: Illegal seek

Post a reply

Confirmation code
Enter the code exactly as it appears. All letters are case insensitive.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:
BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON
Topic review
   

Expand view Topic review: memwrite, Failed to seek: Illegal seek

Re: memwrite, Failed to seek: Illegal seek

Post by code0610 »

Hi Eli,

thx for your reply.
I wrote an email for the xl demo bundle to the support email address.
I also asked nvidia for the coherency issue. Let´s see if it works.

regards,
Sebastian

Re: memwrite, Failed to seek: Illegal seek

Post by support »

Hi,

A quick calculation: 48 MB / 0.05s = 960 MB/s. The announced maximal bandwidth for Xillybus on Atrix 7 is 1.6 GB/s, so you're within range. So there's no problem reaching this rate with Xillybus. I can guarantee this if you try it with a PC. Please apply for an XL demo bundle and access to XL core in the IP Core Factory (a plain email to support).

There is however a cache coherency issue with ARM-based platforms, which slows down I/O considerably, so I'm not all that sure about the NVidia platform. Please refer to item 9 on this page:

http://xillybus.com/doc/bandwidth-guidelines

This isn't a Xillybus issue. Any I/O transport that ensures the data's integrity on a platform with this cache issue is slowed down in the same manner.

Regards,
Eli

Re: memwrite, Failed to seek: Illegal seek

Post by code0610 »

We just need a fast data transmission between the Artix 7 (AC701 Eval Board) and Nividia Jetson TX2 Board.
We want to send 48 MByte data every 50 milliseconds from Artix 7 to Jetson TX2. We try to generate an example (dummy data) with xillybus.
So, we will try to send data every 50ms and read it from /dev/xillybus_read_8 or /dev/xillybus_read_32.

Do you think this is possible with this speed rate and xillybus?

Re: memwrite, Failed to seek: Illegal seek

Post by support »

Hello,

Instructions for how to compile and install the driver can be found in section 2 of Getting started with Xillybus on a Linux host:

http://xillybus.com/downloads/doc/xilly ... _linux.pdf

And in fact, you managed to confuse me as well -- I didn't pay attention that you attempted to seek in the read_8 and write_8 pipes. They are indeed not seekable. Why you got away with it on Windows (are you sure you did?) is another, but not so important, question. The bottom line is that in the demo bundle, only mem_8 is seekable. Trying to seek on the other streams is like trying to seek on a TCP/IP stream -- not allowed, and doesn't make sense.

If you want more seekable streams, you may set up a custom IP core as desired in the IP Core Factory.

Regards,
Eli

Re: memwrite, Failed to seek: Illegal seek

Post by code0610 »

ok, i´m using the latest driver from the website. It still doesn´t work.
I found in the documentation this: "Note that in the FPGA demo bundle only xilly-bus_mem_8 is seekable".
So now, i'm a little bit confused.

Re: memwrite, Failed to seek: Illegal seek

Post by code0610 »

Hi Eli,

i have a ubuntu with kernel 4.4 on a nvidia jetson tx2 board. upgrading ubuntu is a little bit tricky.
i have the latest driver from the website and i have compiled/installed it. i can load it with modprobe. how can i disable die kernel driver and load
the new driver instead?

Re: memwrite, Failed to seek: Illegal seek

Post by support »

Hello,

Unfortunately, a bug sneaked into the driver while adapting it to Linux' coding standards. This bug applies only to some versions of the driver in the Linux kernel (appeared in v3.17, fixed on v4.6), and was never in the driver available for download at the website.

The patch from February 2016: https://lkml.org/lkml/2016/2/24/145

The easiest way to resolve this is to download the driver from the website, and use it instead. Or if you're in the mood for upgrading Ubuntu, that's also a possibility.

Regards,
Eli

memwrite, Failed to seek: Illegal seek

Post by code0610 »

Hi,

i´m evaluating xillybus on a AC701 (Artix-7) board.
With windows i tried the demoapps and it works.

memread \\.\xillybus_read_8 0
memwrite \\.\xillybus_write_8 0 1

With unbuntu i get a seek error, when i try the demoapps.

sudo ./memwrite /dev/xillybus_write_8 0 1
Failed to seek: Illegal seek

sudo ./memread /dev/xillybus_read_8 0
Failed to seek: Illegal seek

The loop test works
cat /dev/xillybus_read_8
cat > /dev/xillybus_write_8

Can you tell me why the windows apps worked and the ubuntu apps not?
Is there something different?

thanks for your help!
regards
Sebastian

Top

cron