2013-08-09

First change

I finally start writing some code! Well, its nothing functional yet, just some small changes, but I'm getting there. And guess what, I'm not scared of touching the kernel code anymore. :)

Last week, we discussed with PJ about the modifications that should be done. First, I told him my ideas (even the ones I knew were useless), then he explained me a much simpler and solution. :)  So, I will be creating a new function called native_cpu_parallel_up. For my very first change, I copied native_cpu_up and renamed it native_cpu_parallel_up. And in my kernel tree, __cpu_up is calling native_cpu_parallel_up -not native_cpu_up-. Making this change on my computer isn't a problem at all. But I am using PJ's machine for debugging. So, I made my patch as in the first kernel patch tutorial, then exported it using "git format-patch -n1". Then, I copied my patch to PJ's other computer that I'm accessing remotely which also has my kernel tree. Finally I applied my patch to my branch. 

It is very amazing to see how fast a computer can build if it has 48 cpus. But it didn't boot so fast, hopefully that won't be the case for so long. :) 

That kind of small changing should help me to get used to comprehend debug messages, but they seem very unfamiliar for now. 

2013-07-16

Week 3 & 4

I can't believe it has been almost a month since my internship started!

The second two weeks period was pretty much the same as the first one with a few exceptions.

This week PJ sent me my milestones, so I have the plans more or less now. I hope I can keep up with the schedule.

My first task after being comfortable around boot path for the APs, will be creating a new function and replacing it with the smp_init, cpu_up, _cpu_up and __cpu_up which is a function pointer to native_cpu_up and eventually calls do_boot_cpu. Right now, smp_init is looping through all the AP's and calls cpu_up().

The purpose of this project is bringing a parallel approach to waking CPU's up, so for the first step, the new function will loop over all possible AP's and call do_boot_cpu() on each of them.

So, I started to think about what could be a better approach, while I keep digging.

Also, this week I upgraded my Ubuntu to 13.04 because I had some problems with 12.04. Well, that had been a challenging process. First I upgraded it to 12.10, but after I rebooted my laptop, GUI didn't load! After many unsuccessful attempts, I was able to fix that problem. And then, I go on and upgraded it to 13.04. But it wasn't a flawless upgrade either. This time, I had problems with my wireless, web cam, fn keys etc. Following a research I realized my wireless driver was disabled! I was familiar with this problem and I knew how to fix that, I have learned it from Sarah Sharp during a debugging session at participation process of OPW. There is a very good explanation in the first patch tutorial for those who are interested.

That's all for now. :)

2013-07-04

After the first two weeks

The first two weeks of my internship have passed (and a little bit more). I've mostly spend these days digging the boot codes. I have to say, that hasn't been easy for me. For example, I've spent a lot of time trying match the algorithm given by Intel's Software Developper's Manual with the boot codes. After a while I realised from my mentor's answers, that algorithm was BIOS's and I shouldn't be worrying about it. :) But my mentor (Peter P Waskiewicz Jr) is being very helpful and encouraging. As I started putting pieces together, the whole thing makes a little bit more sense to me. :) I can't wait to start making some contributions, however it will take some more time until I get comfortable around this boot puzzle.

On my second week, I started some git tutorials. I'm not familiar to git, it's a new world for me, but I'm getting used to it. There are some really good tutorials.

Here are some links:

http://stackoverflow.com/questions/315911/git-for-beginners-the-definitive-practical-guide

https://www.kernel.org/pub/software/scm/git/docs/gittutorial.html

My first two weeks of my OPW internship passed so quickly. I found out there are so much to learn, even more than I thought. But I will be fine, just keep digging... :)

2013-05-31

Welcome

Hi, welcome to my personal blog. This is my first personal blog, I hope you will enjoy it. :)

This summer I will be joining to Outreach Program For woman as an intern. I am accepted to work in x86 central boot code project and I am thrilled about it! So, I will be sharing my experiences. I hope my experiences will be beneficial and you will consider applying for the next round!