Also, instead of saying "use the bone kernel instead". Do realize that the TI kernel has some useful features that are not implemented into the *bone* kernel config, at minimum.
So the point is, this "toy" is a community "toy". Not just for you. On Sat, Jun 25, 2016 at 12:35 PM, William Hermans <yyrk...@gmail.com> wrote: > There, now everyone can clean their messy images . . . > > https://github.com/wphermans/bbb-cleanup/blob/master/beaglebone-cleanup.md > > On Sat, Jun 25, 2016 at 12:16 PM, William Hermans <yyrk...@gmail.com> > wrote: > >> @Jason Kridner >> >> I do not think anyone is asking to remove remoteproc, and replace it with >> uio_pruss. What we've been asking, at least I have been asking is give us >> the option. >> >> For example, all those modules listed in the output from my lsmod on a >> fresh install of the latest Jessie testing image: >> >> debian@beaglebone:~/nfs$ uname -r >> 4.4.12-ti-r31 >> debian@beaglebone:~/nfs$ cat /etc/dogtag >> BeagleBoard.org Debian Image 2016-06-19 >> >> Anyway all those kernel modules should *NOT* be enabled by default. With >> exception of perhaps the USB gadget drivers(and nfsd is something I >> personally loaded ). Personally, I would prefer they were not loaded by >> default, but I can understand the need. Additionally, those kernel modules >> should be loaded via a device tree file as in how the original uio_pruss >> module is loaded. >> >> So again. I do not care what you all at TI work on. It's not my place to >> say one way or another. But please do not force us to endure your >> developers poor clean up abilities. But I will say, that looking at that >> mess that is the output of lsmod from a released debian image. You all must >> have zero pride in your work . . . Harsh ? Maybe overly harsh yes, but >> think about the message you developers are putting out there with that mess. >> >> Also as TJF mentioned. Feel free to create your own little sandbox, and >> then include the stuff you have finished into the released images. That, >> would make me happy, as well as many others, I'm sure. It's either that, or >> I'm forced to clean up your mess. Which I am perfectly capable of doing. >> But that's not the point. >> >> Additionally, I am grateful for the work *EVERYONE* has done for the >> community. Even the people I'm bitching at right now. Take it as overly >> critical constructive complaints. If you want. >> >> On Sat, Jun 25, 2016 at 11:56 AM, Jason Kridner <jkrid...@beagleboard.org >> > wrote: >> >>> I will work to enable uio_pruss functionality, and I think that is what >>> you want, not just getting remoteproc out. >>> On Sat, Jun 25, 2016 at 10:39 AM TJF <jeli.freih...@gmail.com> wrote: >>> >>>> @John: >>>> >>>> ... so what do you want removed? There is nothing left to be removed. >>>>> >>>> >>>> I want removed: >>>> >>>> >>>> pru_rproc 12632 0 >>>> pruss_intc 7223 1 pru_rproc >>>> >>>> Do you remember, that's the main topic in this discussion? >>>> >>>> >>>> I think TJF is confusing throughput with latency. From the BeagleLogic >>>>> project, they were able to achieve better throughput with RemoteProc, but >>>>> TJF is able to achieve lower latency with PRUSS_UIO. From what TJF >>>>> explained, the latency occurs because of 5 parameters that must be pushed >>>>> onto the stack for each call. >>>>> >>>> >>>> I don't think that I'm confusing anthing here. If BeagleLogic could >>>> really achieve better throughput with remoteproc, they must have had a >>>> masive problem in their code before. I cannot imagine how any driver could >>>> have a positive influence on libpruio thoughput. >>>> >>>> And regarding latency, the five parameters are just the start. Then >>>> kernel code and PRU code adds further latency. (And yet the five parameters >>>> are much too much for my usecase.) The remoteproc concept isn't made for >>>> high performance and it doesn't provide any "hack" to pass it by. >>>> >>>> >>>> Yeah, so long as you don’t need security, interrupt handling, virtual >>>>> peripherals (firmware defined devices), etc, why not use a hack to >>>>> accomplish your task. I guess there is a reason why Linux doesn’t have a >>>>> lot of userspace drivers. >>>>> >>>> >>>> I see lots of userspace drivers in the real world. Ie. regarding >>>> one-wire support I know about four. And the numbers will increase, unless >>>> kernel development gets closer to user needs. >>>> >>>> I need security, a high-level target in my projects. That's why I don't >>>> like virtual peripherals. That's why I don't want to load my firmware from >>>> files. (I've seen projects where firmware files from userspace gets linked >>>> to /lib/firmware and loaded. Or when a project runs from SD card, an >>>> aggressor can easy put the card in a laptop and override the firmware files >>>> in kernel space.) >>>> >>>> So how does this project provide any additional security? When a user >>>> stops the libpruio firmware at the wrong point using "unbind", this may >>>> damage the hardware. >>>> >>>> Remember, the PRUSS are a safety risc per se. Old-fashioned thinking >>>> doesn't match the current situation. Im contrast to an arbitrary peripheral >>>> subsystem, the PRUSS can access all CPU memory. And the kernel cannot >>>> protect any memory against PRU access. That's why PRU control from the >>>> command line will not add any security. Instead it'll increase the risc. >>>> >>>> >>>> >>>>> This is what I like most about RemotProc/RPMSG, in that you are using >>>>> the same framework between ARM, PRU, DSP, etc. >>>>> >>>> >>>> If I'd be an RPi3 user, I'd love this too. Since it'd help me to >>>> develop a PRU emulator, using 1, 2 or 3 of the cores for real time tasks. >>>> Sure, such a project wouldn't really help the BBB community and it wouldn't >>>> be good for TIs buisiness. So I wonder why TI managers allow to develop >>>> this remoteproc thingy in public. >>>> >>>> >>>> Suman, you have done very good work. Please take the criticism as >>>>> suggestions on how to make RemoteProc/RPMSG better. We understand that you >>>>> have many other responsibilities at TI and we want to be respectful of >>>>> your >>>>> time. Thank you again for all your help. >>>>> >>>> >>>> Good work for whom? Competitors are happy. But high performance PRU >>>> projects doesn't work any more with TI kernels since kernel 4.x (that's >>>> nearly two years now). And further corporate development is blocked until >>>> we find a solution. >>>> >>>> I also have many other responsibilities. And here, I try to build a >>>> bridge, and I try to slow down (or stop) the current process of kernel >>>> development drifting away from user needs. >>>> >>>> BR >>>> >>>> >>>> @Suman >>>> >>>> Thank you for your answer. Most of your colleagues just stop answering >>>> and break the discussion when it comes to the point. I really appreciate >>>> your effort. >>>> >>>> And thank you for the examples. They may help others to get started >>>> with your framework. At the moment, for me, there is still no reason why I >>>> should spend time in testing. >>>> >>>> >>>> I don't know if pasm assembler is still a supported tool by TI. >>>>> >>>> >>>> As far as I understand, PRU isn't supported by TI at all yet. But pasm >>>> is the first tool available, and therefor a lot of projects are based on >>>> it. You shouldn't ignore it. >>>> >>>> /dev/mem is your friend. >>>>> >>>> >>>> I don't like /dev/mem. PRUSS are my friends. >>>> >>>> Define mainstream. >>>>> >>>> >>>> By mainstream I mean the system a user gets when he installs an image. >>>> >>>> >>>> It is optional, it is not even enabled by default in >>>>> omap2plus_defconfig. If one doesn't want to spend time, one can always go >>>>> back to how they were using it with whatever patches they had before. >>>>> >>>> >>>> Yes, downgrading is an option in any case of conflicts. It's the last >>>> option. And I think it shouldn't be the standard answer when kernel >>>> developers learn about user needs. >>>> >>>> Your project is not optional. As you can see in Williams post, your >>>> driver gets installed by default in any TI image. >>>> >>>> Please try to imagine: not every user compiles his own kernel. Instead, >>>> most users download and install a prepared image. And this is how it should >>>> be (@RCN: thanks for all your efforts). >>>> >>>> >>>> And may I know how would you have done it if you were to redo it from >>>>> scratch supporting both kernel and userspace? You are only looking at it >>>>> from userspace angle, and as long as you stick to that, any kernel >>>>> framework will indeed look like bloat. >>>>> >>>> >>>> User space is what kernel is made for. A kernel without userspace >>>> applications makes no sense. And when a kernel framework looks bloated from >>>> userspace angle, it may be bloated. >>>> >>>> You may know how I'd have started your project. As I said, I'd first >>>> make the decision: >>>> >>>> 1. do I want to make something completely new, or >>>> 2. do I want to replace an existing solution? >>>> >>>> In first case, I would create an experimental project, far away from >>>> mainstream. In the later case I'd care about existing code and solutions >>>> (and I wouldn't go mainstream as well, unless I got the basics working and >>>> documented with examples on how to migrate). >>>> >>>> As far as I understand your project, you made this decision. But you >>>> didn't leave the mainstream yet (and I don't understand how you could >>>> enter). >>>> >>>> >>>> The TI kernel is not just about BBB, there are 4 other SoC families and >>>>> multiple boards where PRU is now supported. And we do have userspace needs >>>>> as well for Industrial usecases, they will get addressed in the upcoming >>>>> months. You might very well find a thing or two w.r.t UIO in an upcoming >>>>> Processor SDK release. >>>>> >>>> >>>> I know that you work for other SoC families as well. I wonder why you >>>> don't add your project to the Processor SDK as an *insiders' tip* or >>>> *special >>>> offer*. By the way, libpruio is already used in lots of industrial and >>>> scientific projects today. >>>> >>>> >>>> I understand that it's frustrating that the new framework does not >>>>> address all your needs at the moment, and this is an active development so >>>>> I will be continuing to close the gaps during the year. >>>>> >>>> >>>> It isn't frustrating that your framework doesn't adress my needs. I >>>> wouldn't even care about that. It's frustrating that such a framework is in >>>> the mainstream kernel (images). And it's frustrating that this could get >>>> fixed very easy, but hasn't been done yet. >>>> >>>> Do whatever you think that'll be helpful for anyone at anytime. But do >>>> it in a sandbox. Don't block corporate development. Don't steal users >>>> resources. Don't add further riscs to kernels for boards with PRUSS. >>>> >>>> Please work with Jason Kridner for any further issues or concerns... >>>>> >>>> >>>> For Jason Kridner I can only repeat: do everthing possible to get >>>> remoteproc out of mainstream. It blocks the PRUSS development in BB >>>> community and endangers the BB project. >>>> >>>> BR >>>> >>> -- >>> For more options, visit http://beagleboard.org/discuss >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "BeagleBoard" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to beagleboard+unsubscr...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/beagleboard/CA%2BT6QPn8oKQ5jP-D1fhA%3DF6e6%2BeX1c4rFUfLuVj7ZhBbPoQnnA%40mail.gmail.com >>> <https://groups.google.com/d/msgid/beagleboard/CA%2BT6QPn8oKQ5jP-D1fhA%3DF6e6%2BeX1c4rFUfLuVj7ZhBbPoQnnA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/CALHSORobVtuniGF-zG4OHg3iELHhJC5jGhNfeGH_s7D8_Cw%3DrA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.