**** BEGIN LOGGING AT Wed Mar 11 02:59:58 2015 Mar 11 06:41:49 * dkarki leaves for Singapore tomorrow :) Mar 11 06:58:48 PayPal? Mar 11 10:34:23 praveendath92: so what do you want to achieve with USTCP ? Mar 11 10:34:41 because the STCP has a lot of features that are network related...don't think you can model those over USB Mar 11 10:34:57 An comm. interface for future bard Mar 11 10:35:17 We have only 2EPs for many activities Mar 11 10:35:30 Audio, video, control. Mar 11 10:36:49 I'm just planning on a multi-streaming part of SCTP Mar 11 10:38:01 vvu: ping Mar 11 10:38:11 So, if we have an audio, video drivers; they just write their SCTP streams and not worry about how the transfer happens in bg Mar 11 10:38:40 USCTP* streams Mar 11 10:42:11 praveendath92: is it part of remote display project? Mar 11 10:42:39 Yes Mar 11 10:42:58 I'm thinking this could simply a few things Mar 11 10:43:27 cool. Mar 11 10:43:31 1 less thing to worry about. Mar 11 10:43:52 Sending many types of data over USB Mar 11 10:55:32 that sounds nice but might be an overkill here, if you design a packet header for USB that will be nice Mar 11 10:55:37 and pack things in that order Mar 11 11:07:30 got dc. don't know if I missed your message , vvu Mar 11 11:12:16 Yes. The header will be minimal Mar 11 11:12:35 Since we won't have to worry about losses Mar 11 11:13:46 I'm thinking 512Bytes of packets with 1 / 2 Byte header, depending on alignment of data Mar 11 11:17:48 praveendath92: write a simple example and pastebin it :) Mar 11 11:19:26 vvu: Yes. I will think of the packet structure more clearly and send it. Mar 11 11:19:35 praveendath92: but in the end the packets will be sent on 3 conceptually diff streams Mar 11 11:19:40 but each stream will have them inorder Mar 11 11:19:58 because we do bulk transfer which is blocking until the receiver has the data Mar 11 11:20:18 Isochronous transfers are difficult to do? Mar 11 11:20:29 Abhishek_: There is no ISOSYNC EP. Mar 11 11:20:37 I see Mar 11 11:20:48 praveendath92: Protocol handles inorder delivery of any stream data Mar 11 11:20:54 this we will not need Mar 11 11:20:56 vvu: The reader / writer will simply read from their own buffers / queues Mar 11 11:21:14 The usctp driver handles all the multiplexing and transfer. Mar 11 11:21:37 At a certain frequency it checks if any buffer has data and transfers it to the other side. Mar 11 11:22:05 And thus clearing that buffer for more data from writers. Mar 11 11:22:13 Similarly for Readers/ Mar 11 11:22:38 yes, this I agree Mar 11 11:22:45 but in all the buffers all the data will be ordered Mar 11 11:23:07 Yes inorder delivery is anyway given by USB. Mar 11 11:23:13 Yes. Mar 11 11:23:26 Buffer are like circular queues Mar 11 11:23:37 yes Mar 11 11:23:49 you can implement here reader/writer problem Mar 11 11:24:03 Yes. I was thinking the same. Mar 11 11:24:19 On each individual queue Mar 11 11:24:36 Each stream has access to their own queu Mar 11 11:24:39 queue* Mar 11 11:24:40 yes Mar 11 11:25:16 Actually, even better, we just expose standard calls to readers / writers Mar 11 11:25:20 on the android side it is easy to model this thing...i am not sure how to do it from the kernel Mar 11 11:25:23 I mean other drivers. Mar 11 11:25:45 I think it is doable at the kernel side too. Mar 11 11:26:05 encapsulate everything in one big USB driver ? Mar 11 11:26:18 Yes. Mar 11 11:26:34 So, each driver is independent and uses the usb driver. Mar 11 11:26:34 and use same endpoints everywhere, sounds fair Mar 11 11:26:37 yes Mar 11 11:26:57 I tried some inter module communication by exposing module calls. Mar 11 11:27:06 i suggest you write all the things down so the students can read there Mar 11 11:27:06 That could be a good option here. Mar 11 11:27:34 Yes. I think I have a big picture for now. Mar 11 11:27:57 I started documenting the protocol / driver. Mar 11 11:28:27 i will go for everyhting in one big driver rather than inter module comms, at some point you will have a lot of intermodule comm there Mar 11 11:28:55 actually it's not intermodule comm. in the sense of IPC. Mar 11 11:29:23 Each module exposes some functions that other modules can make use of. Mar 11 11:29:32 http://www.xml.com/ldd/chapter/book/ch11.html#t2 ? Mar 11 11:29:35 this thing right Mar 11 11:29:35 Here, usctp module does that. Mar 11 11:30:45 anyway going away for a while Mar 11 11:31:27 https://github.com/praveendath92/OS-labs/tree/master/lab3/ Mar 11 11:31:58 The classic Producer-consumer prob. using fifo as connector module. Mar 11 11:32:07 We will have something like this. Mar 11 11:32:37 I'm also heading out, to lab. Mar 11 11:32:47 Infinite Monkey Theorem :D Mar 11 11:32:54 Haha ;) Mar 11 11:37:13 Someone created a setup using the Pi to verify the IMT. Not sure how much time would it have taken but at least someone *tried* Mar 11 11:38:21 http://trevorappleton.blogspot.co.uk/2014/10/infinite-monkey-theorem-using-python.html Mar 11 13:02:08 is it possible to build pru binary file from linux host ? Mar 11 13:02:29 yes Mar 11 13:03:36 using starterware i presume ? Mar 11 13:05:41 while going through old logs i came to know that starterware can be run on BBB linux by building a static library - libstarterware.a ,am i correct ? Mar 11 13:08:51 using this makefile : "https://gist.github.com/jadonk/a6432fde48408e72fdd7" Mar 11 13:46:36 i'm sorry for asking such trivial questions . I was just facing an issue setting up the compiler in my host system Mar 11 13:46:56 i have resolved it Mar 11 14:57:24 gm Mar 11 14:57:35 so we meeting in 1 hour today? Mar 11 14:58:39 I think so. It moved because of the time change, right? Mar 11 14:59:12 yep Mar 11 14:59:30 https://cdn.hackaday.io/images/3171841426081548319.jpg Mar 11 15:00:25 That's the low-price cape you put together with the laptop LCD, right? Mar 11 15:00:40 yep, it's a tablet LCD Mar 11 15:00:51 it's yet to be assembled :) Mar 11 15:00:55 Where do you get your PCBs done? Mar 11 15:01:29 usually DirtyPCBs Mar 11 15:03:19 https://cdn.hackaday.io/images/7957071421773640174.jpg Mar 11 15:03:31 I need to get some done, myself. After a bit of rework. Mar 11 15:03:58 The autolayout on Eagle is a bit sloppy. Mar 11 15:04:03 nice :), how do you visualize them after Eagle? Mar 11 15:04:35 There is an Eagle plug-in for SketchUp. Mar 11 15:05:28 I see. At least KiCad forces me to manually route it. Mar 11 15:12:41 Abhishek_: Is there any meeting for mentors today ? Mar 11 15:29:56 i'm trying to compile a simple a pru code in my host system but im getting this error : clpru command not found Mar 11 15:30:09 what should I do? Mar 11 15:31:36 altairpearl, did you install the ti toolchain? Mar 11 15:32:02 the starterware ? Mar 11 15:32:39 no.. clpru comes from the TI PRU Code Generation Tools.. Mar 11 15:33:01 http://software-dl.ti.com/codegen/non-esd/downloads/download.htm#PRU Mar 11 15:33:42 oh ok ill look into it now Mar 11 15:36:15 i have installed it but havent included it. Thanks :-) Mar 11 15:54:52 kiran4399: Mentor meeting is a "mentor-only meeting" and held separately from the main meeting. Mar 11 15:55:23 jkridner will not be able to attend today- driving to Chicago Mar 11 15:55:27 Abhishek_: is a mentor meeting today ? Mar 11 15:55:57 do not yet know Mar 11 15:56:07 _av500_: any hint? Mar 11 15:56:26 av500 will you run the meeting Mar 11 15:59:54 * beaglegirl wonders if av500 is feeling better Mar 11 16:05:21 jkridner is asking if we should cancel Mar 11 16:05:35 vvu: give me some feedback when you have time Mar 11 16:09:06 If there isn't any information for the mentors, I don't think a mentor meeting is necessary. Mar 11 16:09:34 Personally, I'm in a holding pattern and just fielding questions from potential participants. Mar 11 16:23:03 azizulhakim: at the moment i do not have time to actually run code, but for starters looks good. took a sneak peak into the audio driver mostly Mar 11 16:23:36 what i am interested is how you are planning to encapsulate all drivers into one and send data over usb (some kind of a packet format, header...) Mar 11 16:23:43 I've integrated the audio and mouse/keyboard part together Mar 11 16:24:18 can you post the link again please Mar 11 16:24:21 lost it somehow Mar 11 16:25:31 I've integrated the audio and mouse/keyboard part together Mar 11 16:27:47 azizulhakim: i am interested to see all of them together working at a decent speed :) Mar 11 16:29:57 yes I can understand that. data size for input device isn't too big. only concern is audio and video data. in my test it seems it would be possible to get smooth audio playback Mar 11 16:30:21 for video data I'm not quite sure yet Mar 11 16:30:40 i would like to see in the big usb driver 3 streams like paveen said, one for input, one for audio and one for video Mar 11 16:31:00 and the packets that are sent over usb to have a header that android can identify them Mar 11 16:31:42 so kernel receives input and sends video/audio Mar 11 16:31:52 android receives video/audio sends input Mar 11 16:34:15 "kernel receives input and send video/audio" - do you mean android app can on/off streams? Mar 11 16:34:47 can be an option too, to have a control stream Mar 11 16:34:56 if i want just audio or just video Mar 11 16:37:13 Yes that should be easy. Android device can send some control header using bulk endpoint, kernel will just read the header and act accordingly Mar 11 16:37:44 yes Mar 11 16:38:14 again an example seeing multiple types of data on the usb bus and decoding them accordingly on the android side would be perfect Mar 11 16:38:38 I'm using that technique to pass android device's resolution Mar 11 16:39:15 Right now I've two streams. Audio and Input stream. But their direction is opposite Mar 11 16:40:20 From kernel part we can add a simple header in each packet. android device will have two different buffer for audio/video. depending on the header it will add the packet to one of the buffer Mar 11 16:41:12 yes that is what i was thinking Mar 11 16:41:27 to tag each packet that goes from the BBB to android Mar 11 16:41:32 and we also don't need very complex header. if we consider fixed size packet, then the header is only to define audio/video Mar 11 16:41:57 and if we consider variable size header then we'll have to include the packet length also Mar 11 16:43:13 https://github.com/azizulhakim/beagleusb/blob/master/inputcontrol.h Mar 11 16:43:42 here I'm tagging the input packets for Mouse/Keyboard/Control Mar 11 16:43:52 Similar approach can be used for Audio/Video Mar 11 16:44:03 yes, something like this Mar 11 16:44:36 By Control packet I mean passing some data for making decisions. like screen resolution, stream on/off Mar 11 16:45:07 i say better write all this down in your proposal Mar 11 16:45:11 wrap up a google docs Mar 11 16:45:17 where you should start writing the proposal Mar 11 16:45:27 brb food Mar 11 16:45:31 okay, thanks Mar 11 16:46:07 https://github.com/azizulhakim/beagleusb Mar 11 16:46:21 https://github.com/azizulhakim/BeagleRemoteDisplay Mar 11 16:46:34 https://www.youtube.com/watch?v=06ddznhLpqc Mar 11 16:47:03 These are my latest repository and a youtube video of a demo. in case you want to have a look Mar 11 16:47:11 happy eating :) Mar 11 16:51:12 Hendersa: Now I am able to execute abd shell command Mar 11 16:52:39 but i am having trouble in accessing GPIO pin Mar 11 16:54:55 are u der?? Mar 11 16:54:59 I am here. Mar 11 16:55:25 How are you working with the GPIO pins? Mar 11 16:55:40 Through the file system as individual files for each pin? Mar 11 16:56:29 There will be two steps to working with GPIOs: setting up the pinmux/pins and then performing the interfacing. Mar 11 16:56:53 when i do: echo 53 > /sys/class/gpio/export Mar 11 16:57:02 directory is not getting created Mar 11 16:57:32 It is just echoing 1 Mar 11 17:00:16 i suppose it is for user led 0 ( GPIO1_21 ) Mar 11 17:00:33 I perform my pin exports in the init.{hardware.ro}.rc file, though that should work. Mar 11 17:00:54 Let's check out 53... Mar 11 17:00:59 * hendersa looks at some things. Mar 11 17:01:30 Do you have a multimeter that you can use to monitor voltages on the various pins? Mar 11 17:01:59 Is the project " Using BeagleBone PRUs to control CNC and 3D printer stepper motor Drivers Mar 11 17:01:59 " open for GSoC 2015 ? Mar 11 17:02:13 no i do not have Mar 11 17:02:19 Abhishek_: Can i access the gpio module register located at the address specified in am35xx manual from the PRU directly or do we need to change something while doing dma from pru ? Mar 11 17:02:37 I have bacon cape. Mar 11 17:02:58 OK. So, 53 is not something exported to the P8/P9 headers to monitor it directly, so you shouldn't use that one. Mar 11 17:03:25 Typically, you're using some available GPIO pin and placing an LED or multimeter on that pin to monitor what is going on. Mar 11 17:04:24 ok. then i should try some other GPIO pin Mar 11 17:05:13 I recommend using the pins in the block of P8.07 through P8.19. Mar 11 17:05:31 Even with an LCD3 cape in your BBB, those pins are still exposed. Mar 11 17:05:39 And they are all GPIOs by default. Mar 11 17:05:46 ok Mar 11 17:05:55 P8.07 -> 66 Mar 11 17:06:01 P8.08 -> 67 Mar 11 17:06:05 Is this formula correct: pin number = (port number * 32) + gpio number Mar 11 17:06:07 P8.09 -> 69 Mar 11 17:06:16 P8.10 -> 68 Mar 11 17:06:28 Yes. Mar 11 17:06:51 Start working with those four for GPIOs. Mar 11 17:07:44 ZeekHuge: That is a topic on the list, but I don't know if any of the mentors for it are active on the channel right now. Mar 11 17:08:02 Thanks, let me try that out. Mar 11 17:08:27 hendersa: ok, maybe later. Mar 11 17:14:27 <_av500_> vvu: sorry, what? Mar 11 17:40:31 Abhishek_ :Reinstalling the headers solved the issue :) Mar 11 17:40:37 shubhangi: Yep GPIO can be accessed once you enable OCP master port ( see pru code ) DMA is a different beast altogether Mar 11 17:40:52 Good to know apaar Mar 11 17:43:28 Abhisek_ is dma implementation the same as the shm(shared memory) implementation that pruspeak uses?? Mar 11 17:43:46 Abhishek_ :^ Mar 11 17:45:34 Nope even I didn't use DMA for BeagleLogic Mar 11 17:46:46 If by DMA you refer to the DMA Controller on the AM335x SoC, nope Mar 11 17:46:54 ... Mar 11 17:47:23 If you mean the DMA API of the kernel, then yes Mar 11 17:48:24 ah...i got confused b/w the two...i had read mentions of dma while skimming through your driver :P Mar 11 17:53:38 Yup that's why I clarified that Mar 11 17:57:12 _av500_: if we had a meeting today :) Mar 11 18:00:16 alexanderhiam: Hi !! Can you please verify my proposal ? Mar 11 18:04:29 kiran4399: link? Mar 11 18:05:33 oops... did I miss a meeting today? Mar 11 18:06:47 alexanderhiam, there's wasn't really one... ;) Mar 11 18:07:29 oh good :P Mar 11 18:09:04 <_av500_> vvu: sorry, had to take a kid to doc Mar 11 18:10:22 no worries, nothing important happened. Mar 11 18:12:26 light morning Mar 11 18:16:19 * vvu ran out of space on /dev/boot Mar 11 18:20:07 alexanderhiam: Shall I send you the google docs link ? Mar 11 18:27:00 hmm Mar 11 18:27:14 http://elinux.org/BeagleBoard/GSoC/Ideas#Real-time_Data_Acquisition_and_Processing Mar 11 18:27:21 is this open for gsoc 2015? Mar 11 19:01:39 kiran4399: sure Mar 11 19:05:12 alexanderhiam: I've sent it :-) Mar 11 19:11:26 hey all Mar 11 19:11:49 i ahve compiled the blinkled and i'm trying to execute it in the BBB Mar 11 19:12:21 but im getting the "error : no such file or directory" when I try to run ./blinkled Mar 11 19:13:11 i have successfully loaded the cape using capemgr Mar 11 19:14:54 this is the make file i used to compile my code in the host system : http://pastebin.com/ULETnswy Mar 11 19:18:17 i used lnk.cmd insted of Am3359_PRU.cmd Mar 11 19:20:01 my modified lnk.cmd file : http://pastebin.com/feWxpGRs Mar 11 19:21:28 av500: my gpio directory gets deleted everytime i boot BBBAndroid Mar 11 19:22:13 Is there a way to save this Mar 11 19:22:21 kiran4399, sidbh_ : help pls Mar 11 19:44:12 rcn-ee: help ! Mar 11 20:03:57 altairpearl, ldd ./blinkled Mar 11 20:09:21 rcn-ee: "not a dynamic executable " Mar 11 20:09:55 okay, how about file ./blinkled Mar 11 20:10:19 erro : "no such file or directory " Mar 11 20:10:38 vvu: ping Mar 11 20:10:50 i'm using v2.1.0 ti toolchain Mar 11 20:13:09 altairpearl, well then "blinkled" doesn't exist... Mar 11 20:21:09 hmmm . i must hvae made some mistake here , Ill go through again Mar 11 20:27:59 Abhishek_,alexanderhiam Mar 11 20:28:22 .... Mar 11 20:28:25 I am able to toggle led from using the gpio module registers Mar 11 20:28:49 shall work on adding it to pruspeak Mar 11 20:28:51 :) Mar 11 20:28:59 shall i* Mar 11 20:29:11 i worked finally . Yay ! Mar 11 20:29:23 nice Mar 11 20:29:31 from the pru of course Mar 11 20:29:48 * praveendath921 wondering if he get some help with module unloading related problem Mar 11 20:30:28 praveendath921: pong Mar 11 20:30:35 vvu: Hi Mar 11 20:30:39 how is it going ? Mar 11 20:30:47 I'm running some tests. Mar 11 20:31:02 I'm thinking of using EXPORT_SYMBOL Mar 11 20:31:18 Instead of Inter Module Comm. Mar 11 20:31:20 i screwed up my /boot partition on the desktop :) Mar 11 20:31:49 You have a desktop and a Mac book? Mar 11 20:31:59 yes Mar 11 20:32:03 vvu: Need some help with a small problem. Mar 11 20:32:04 * Abhishek_ used export symbol in BeagleLogic Mar 11 20:32:12 desktop a.k.a. iMac running Linux Mar 11 20:32:18 Abhishek_: How good is it? Mar 11 20:32:30 which problem praveendath921 Mar 11 20:32:43 good enough, I actually did some primitive IMC Mar 11 20:32:49 I have a module which I suspect is currently sleeping on a semaphore. Mar 11 20:33:00 talk is cheap show me the code Mar 11 20:33:24 If we are not aiming for a generic interface for all system modules, what would you recommend? Mar 11 20:33:30 IMC or SYM_EXPO. Mar 11 20:33:37 Just a sec Mar 11 20:33:50 https://github.com/praveendath92/OS-labs/blob/master/lab3/consumer/consumer.c Mar 11 20:34:09 praveendath921: https://github.com/beagleboard/linux/blob/3.8/drivers/remoteproc/pru_rproc.c#L2452 Mar 11 20:34:39 Abhishek_: What are you using it for? Mar 11 20:34:56 we need something lightweight because we are going to have lots of data flying around Mar 11 20:35:11 vvu: My actual problem is that when I unload that module, it might be sleeping on a semaphore so, rmmod hangs up. Mar 11 20:35:34 Yes. That's why I'm thinking between IMC and SYM_EXPO. Mar 11 20:35:42 but if somebody is producing stuff, your module is consuming how do you know when to rmmod it ? Mar 11 20:35:58 Hoping we could Abhishek_'s working knowledge here. Mar 11 20:36:11 I remove producer first. Mar 11 20:36:22 There is a Fifo module acting as a mediator. Mar 11 20:36:24 and in the producer you up the semaphore ? Mar 11 20:36:34 basically I pass a set of function pointers into the BeagleLogic kernel module Mar 11 20:36:37 So, Producer / consumer can be arbitrarily. Mar 11 20:36:37 so the consumer can pick it up ? Mar 11 20:36:48 using these two exported functions Mar 11 20:36:51 No semphores in prod. or cons. Mar 11 20:36:57 Fifo takes care of all that. Mar 11 20:37:20 these functions reside in pru_rproc.c and provide basic PRU services and IRQ redirection Mar 11 20:37:30 so if fifo takes care of that why can't u remove the consumer ? Mar 11 20:37:33 IRQ=? Mar 11 20:37:39 interrupt Mar 11 20:37:41 I don't know Mar 11 20:37:57 I have a error log. Want to take a look? Mar 11 20:37:59 put some printks in the cleanup function to see what is happening Mar 11 20:38:01 yes Mar 11 20:38:07 http://pastebin.com/t58XBx1v Mar 11 20:38:14 Hmm Mar 11 20:38:42 I'm suspecting the fn exported in fifo would put the caller to sleep. Mar 11 20:38:54 So, consumer goes to sleep. Not the fifo. Mar 11 20:39:22 don't u have something like a try_lock ? Mar 11 20:39:31 which tries to get the lock and if not goes again to do so ? Mar 11 20:40:46 That's what sem's are like right? Mar 11 20:40:54 If not possible, put the caller to sleep, Mar 11 20:41:05 yes, but in your case do you want to sleep ? Mar 11 20:41:07 This way code flow is simple. Mar 11 20:41:15 Yes. Mar 11 20:41:42 I mean in this particular case of cons-prod. problem Mar 11 20:42:14 brb a bit Mar 11 20:42:34 Okay Mar 11 20:42:41 Abhishek_: Sorry for the delay Mar 11 20:43:42 Umm. I may not have got a clear picture there but which is better for high data rates ? IMC or EXP_SYM? Mar 11 20:44:19 basically export symbol causes linkage to occur at load time Mar 11 20:44:30 while IMC would give you a function pointer Mar 11 20:45:10 you'll have to test which one is faster although I would not see a lot of difference (first guess) Mar 11 20:46:40 whipping up a quick test would settle this Mar 11 20:47:15 I'm guessing SYMBOL export could be faster. Mar 11 20:47:29 Or at least can do the job with less effort. Mar 11 20:47:39 Given that it is a static linking. Mar 11 20:47:51 Hmm. I will run a test. Mar 11 20:48:10 It is basically a one-time effort to retrieve a fp from the symbol table. Mar 11 20:48:18 in case of IMC Mar 11 20:48:30 after that it's just a function call Mar 11 20:49:29 nerdboy: hello I am interested for the project Orbital Imaging Cubesat Mar 11 20:49:35 Abhishek_: Actually I'm thinking, in case of IMC data may have to copied the module's address spaces. Mar 11 20:49:47 I do have good hardware experience too Mar 11 20:49:55 I guess a similar prob. could be with SYMBOL_TABLES Mar 11 20:50:16 not really sure about that but all modules run in the same address space? Mar 11 20:50:43 I thought modules have their own address space. Mar 11 20:51:52 Abhishek_: http://docs.oracle.com/cd/E19253-01/817-5789/emjjr/index.html Mar 11 20:52:29 I think what they refer to here is difference between user space and kernel space Mar 11 20:53:02 Had modules been running in different spaces, my passing the function pointers between pru_rproc and beaglelogic kernel modules would have caused a segfault Mar 11 20:53:58 Hmm. Mar 11 20:54:13 My bad. Mar 11 20:56:02 They run in same address space. Mar 11 20:56:18 So, both should work more or less equally good. Mar 11 20:57:30 Abhishek_: Thanks :) Mar 11 20:58:44 http://en.wikipedia.org/wiki/Kernel_%28operating_system%29#Performance Just wanted to make sure. Mar 11 21:11:48 vvu: I guess I figured out the issue Mar 11 21:12:29 what was wrong ? Mar 11 21:12:44 The calls in consumer : consume_item() Mar 11 21:13:04 and sim. in producer are all executed in the context of a workqueue. Mar 11 21:13:13 wq - as defined in code. Mar 11 21:13:40 In the cleanup I have a last line, destroy_workqueue Mar 11 21:14:01 The work queue is sleeping at that time with a task. Mar 11 21:14:36 There is no problem when there is enough buffer space in fifo and no one is sleeping. Mar 11 21:14:51 I can safely remove all modules con, prod and fifo Mar 11 21:14:58 fifo last Mar 11 21:15:45 good Mar 11 21:16:35 i almost finished bringing up my desktop again... Mar 11 21:16:55 I just found out. Mar 11 21:17:11 praveendath92: when do you finish the semester ? Mar 11 21:17:14 I need to call flush_workqueue before destroy_workqueue Mar 11 21:17:19 I'm done. Mar 11 21:17:23 Just one exam left Mar 11 21:17:27 On 31st. Mar 11 21:17:38 ok but u start 2nd semester after right ? Mar 11 21:17:48 Yes. Mar 11 21:17:53 that one i was asking Mar 11 21:18:04 But exams for 2 months is a really long! Mar 11 21:18:38 Yes. Sem starts in less than a week after the last exam Mar 11 21:18:49 and finishing when ? Mar 11 21:18:51 I think there is about 2 weeks gap. Mar 11 21:18:56 31st March. Mar 11 21:19:12 staying during summer here in .de ? Mar 11 21:19:31 Yep. Mar 11 21:19:41 internship ? Mar 11 21:19:56 I initially thought of internship but there is no break :( Mar 11 21:20:09 Do you have a break btwn sems? Mar 11 21:20:22 maybe when i finish university i will drop by to Frankfurt to visit the city Mar 11 21:20:30 had it already Mar 11 21:20:36 we finish on the 22nd of Dec 1st sem Mar 11 21:20:41 and then until 1st of Feb break Mar 11 21:20:50 then from 1st of Feb until 1st of Jun 2nd sem Mar 11 21:21:18 That's awesome! Mar 11 21:21:35 Almost like my sems during UG Mar 11 21:22:00 1 month backward shift that's all. Mar 11 21:22:56 i so wait to finish this last sem...seems like it's not passing Mar 11 21:23:21 Haha. Mar 11 21:23:37 It's not even half way yet :P Mar 11 21:23:39 during the next 4 weeks ever week iam flying somewhere for interviews.. Mar 11 21:24:40 Time will run then Mar 11 21:25:00 Have you given some already? Mar 11 21:25:48 had at ARM monday Mar 11 21:25:55 Damn it. Flush also go stuck Mar 11 21:26:11 waiting for the answer (a.k.a. checking email 10 times per hour :) ) Mar 11 21:26:13 How did it go? Mar 11 21:26:28 had for 2 teams, the system architecture team and another series for the apps team Mar 11 21:26:31 Good luck (y) Mar 11 21:26:35 no push notifications? :) Mar 11 21:26:41 (y) Mar 11 21:26:54 This is when you don't rely on PUSH notifs Mar 11 21:26:56 removed them (too many emails from university) Mar 11 21:27:24 i hope the guys from system arch will take me Mar 11 21:27:51 gave interview for that? Mar 11 21:28:02 yes Mar 11 21:28:13 2 interviews all on OS/Memory/Networking Mar 11 21:28:19 the networking one was a bit tricky Mar 11 21:28:40 Networking in the sense, the ISO_OSI model networking? Mar 11 21:29:13 no, they gave me a system with 3 CPUs with L1 cache interconnected with some DRAM over a single bus Mar 11 21:29:16 and an ingress interface Mar 11 21:29:20 and N egress interfaces Mar 11 21:29:31 and to make an alogirthm to make decisions how to route packets Mar 11 21:29:37 but the method i came up they did not like it Mar 11 21:30:01 Oh. Mar 11 21:30:15 i took the classic hashmap approach :) Mar 11 21:30:45 It's bad because the search takes time? Mar 11 21:30:52 And computation? Mar 11 21:31:11 search is o(1) there Mar 11 21:31:13 storage is bad Mar 11 21:31:23 Oh. Yes. Hash Mar 11 21:31:27 how to keep that there Mar 11 21:31:41 then i tried to make the hashmap into 2 parts Mar 11 21:31:46 because the packet header was 2 bytes Mar 11 21:31:54 one hash map for the high byte Mar 11 21:32:06 and one for the lwo byte Mar 11 21:32:10 brb Mar 11 21:32:17 Ciao. Mar 11 21:43:31 back Mar 11 21:47:29 Just documented the error. Mar 11 21:47:42 I guess I should revisit how to use workqueues Mar 11 21:47:59 https://github.com/praveendath92/usctp/issues/1 Mar 11 21:50:24 i never used those Mar 11 21:50:44 i am trying to find out some good examples for likely and unlikely macros to show in OS Lab Mar 11 21:51:34 You have OS lab? Mar 11 21:51:47 You didn't have it with your OS course last year? Mar 11 21:51:53 nop, i'm assistant at the lab Mar 11 21:51:58 and peeps are asking me for example code Mar 11 21:52:04 Oh. Mar 11 21:52:28 Likely macros? Mar 11 21:52:55 praveendath92: http://stackoverflow.com/questions/109710/likely-unlikely-macros-in-the-linux-kernel-how-do-they-work-whats-their Mar 11 21:53:30 I saw this in the udlfb code. Mar 11 21:53:47 Oh. An optimization right? Mar 11 21:54:04 yeah Mar 11 21:54:41 to branch faster Mar 11 21:55:03 Yes. There can be some very good example for this right Mar 11 21:55:47 Condition checking for looping variable is one I could think of. Mar 11 21:56:59 i have an array of 4k elements all 0 and only one is 1 Mar 11 21:57:07 and asking likely a[i]==0 Mar 11 21:57:12 and unlikely the other one Mar 11 21:57:18 but cannot see any diff in running time Mar 11 21:57:21 Yes. Perfect one! Mar 11 21:57:25 maybe need more data Mar 11 21:58:12 Latency changes right? Mar 11 21:58:39 it should a bit Mar 11 21:58:58 because it makes branch prediction faster as i remember Mar 11 21:59:09 so it goes the right branch from the start Mar 11 21:59:18 and does nto need to flush the pipeline and start again Mar 11 21:59:20 Oh yes Mar 11 21:59:44 we would be boosting only a few initial checks. Mar 11 22:00:50 oh well Mar 11 22:01:01 next one is to find code for asm(); Mar 11 22:01:10 and explain it in a nice manner Mar 11 22:01:30 asm? Mar 11 22:01:40 inline assembly Mar 11 22:01:45 Oh. Mar 11 22:02:40 i should tell them to disable interrupts while running the code and never turn it back on :D Mar 11 22:02:41 I wonder why they haven't included these things in the OS course I did this sem Mar 11 22:03:23 Haha. What point will you make with that? Mar 11 22:07:00 dunno just for the lulz Mar 11 22:07:17 Lol. I thought you are making a case of asm. Mar 11 22:07:34 can be a use...to be sure the critical section is ran Mar 11 22:11:17 vvu: That could also lead to priority inversion problem Mar 11 22:12:02 Saw this? http://research.microsoft.com/en-us/um/people/mbj/mars_pathfinder/mars_pathfinder.html Mar 11 22:12:40 yes :D Mar 11 22:13:37 May be you could use this for Priority inversion example. Mar 11 22:15:05 If this workqueues issue is resolved, I can start on the actual driver. **** ENDING LOGGING AT Thu Mar 12 02:59:58 2015