kernel list data structure

Amirali Shambayati amirali.shambayati at gmail.com
Mon Jun 6 02:31:37 EDT 2011


As I have read this pdf, I think I have assigned them right. I don't know
what's wrong? :-?
https://prof.hti.bfh.ch/myf1/adv-linux/courseNotes/*klist*-*intro*-1.3.*pdf*

On Mon, Jun 6, 2011 at 10:52 AM, Amirali Shambayati <
amirali.shambayati at gmail.com> wrote:

> As I have read the attached pdf, I think I have assigned them right. I
> don't know what's wrong? :-?
>
>
> On Mon, Jun 6, 2011 at 10:43 AM, Amirali Shambayati <
> amirali.shambayati at gmail.com> wrote:
>
>> Ali thanks for your valuable comments. Would you suggest me an alternative
>> method to implement the structure I explained?
>>
>>
>> On Mon, Jun 6, 2011 at 10:05 AM, Ali Bahar <ali at internetdog.org> wrote:
>>
>>>
>>> All right, let's take another stab at this.
>>>
>>> > list.  But as I debugged my code, it seems that my concept is wrong.
>>> Would
>>> > anyone guide me how to implement a two-dimensioned list, or introduce
>>> me a
>>>
>>>
>>> My interpretation of what you got is as follows, based on what you've
>>> said you'll be assigning each list_head to:
>>>
>>> struct noop_data {
>>>    struct list_head readQueue; // You haven't explicitly stated which
>>>                                // LL this will be assigned to.
>>>    struct list_head writeQueue;// The head of a LL of 'struct bundle'
>>>                                // nodes.
>>>     struct bundle {
>>>      int bundleNumber;
>>>      int size;
>>>       struct list_head bundlesQueue; // The LL of 'struct bundle'
>>>      struct list_head reqsQueue; // The head of a LL of
>>>                                  // 'struct request'?
>>>      int filled[8];
>>>    } bun;
>>>    unsigned int starved;
>>> };
>>>
>>> Depending on how you're going to assign these, you may end up with
>>> spaghetti. As I indicated before, the nested inclusion of 'struct
>>> bundle' is likely wrong.
>>>
>>> later,
>>> ali
>>>
>>>
>>> > "noop_data" has a reference to start point of bundles list, called
>>> > "writeQueue"
>>> > "bundle" has a reference to start point of requests list, called
>>> > "reqsQueue".
>>> > "bundle" knows its related list using "bundlesQueue".
>>> > "request" knows its related list using "queuelist". (request struct is
>>> > already implemented in kernel)
>>> >
>>> > struct bundle {
>>> >     int bundleNumber;
>>> >     int size;
>>> >     struct list_head bundlesQueue;
>>> >     struct list_head reqsQueue;
>>> >     int filled[8];
>>> > };
>>> >
>>> > struct noop_data {
>>> >     struct list_head readQueue;
>>> >     struct list_head writeQueue;
>>> >     struct bundle bun;
>>> >     unsigned int starved;
>>> > };
>>>
>>
>>
>>
>> --
>> Amirali Shambayati
>> Bachelor Student
>> Computer Engineering Department
>> Sharif University of Technology
>> Tehran, Iran
>>
>>
>
>
> --
> Amirali Shambayati
> Bachelor Student
> Computer Engineering Department
> Sharif University of Technology
> Tehran, Iran
>
>


-- 
Amirali Shambayati
Bachelor Student
Computer Engineering Department
Sharif University of Technology
Tehran, Iran
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110606/3f9f0ac5/attachment-0001.html 


More information about the Kernelnewbies mailing list