From mboxrd@z Thu Jan 1 00:00:00 1970 From: amirali.shambayati@gmail.com (Amirali Shambayati) Date: Mon, 6 Jun 2011 10:43:20 +0430 Subject: kernel list data structure In-Reply-To: <20110606053558.GB15929@internetdog.org> References: <20110606053558.GB15929@internetdog.org> Message-ID: To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110606/4be09663/attachment.html