Re: [PATCH 1/6 v5] Kernel DLPAR Infrastructure
From: Nathan Lynch <hidden>
Date: 2009-10-29 03:59:21
Also in:
lkml
From: Nathan Lynch <hidden>
Date: 2009-10-29 03:59:21
Also in:
lkml
On Thu, 2009-10-29 at 14:08 +1100, Benjamin Herrenschmidt wrote:
On Wed, 2009-10-28 at 15:53 -0500, Nathan Fontenot wrote:quoted
+ struct device_node *dn; + struct device_node *first_dn = NULL; + struct device_node *last_dn = NULL; + struct property *property; + struct property *last_property = NULL; + struct cc_workarea *ccwa; + int cc_token; + int rc; + + cc_token = rtas_token("ibm,configure-connector"); + if (cc_token == RTAS_UNKNOWN_SERVICE) + return NULL; + + spin_lock(&workarea_lock); + + ccwa = (struct cc_workarea *)&workarea[0]; + ccwa->drc_index = drc_index; + ccwa->zero = 0;Popping a free page with gfp (or just kmalloc'ing 4K) would avoid the need for the lock too.
Not kmalloc -- the alignment of the buffer isn't guaranteed when slub/slab debug is on, and iirc the work area needs to be 4K-aligned. __get_free_page should be fine, I think.