Tidying the irq code -
        make a variable static
        activate_fd can call kmalloc directly since it's now kernel code
        added a no-locking comment
        fixed a style violation

Signed-off-by: Jeff Dike <[EMAIL PROTECTED]>
--
 arch/um/kernel/irq.c   |    7 +++----
 arch/um/os-Linux/irq.c |    6 +++++-
 2 files changed, 8 insertions(+), 5 deletions(-)

Index: linux-2.6.18-mm/arch/um/kernel/irq.c
===================================================================
--- linux-2.6.18-mm.orig/arch/um/kernel/irq.c   2007-01-09 17:08:58.000000000 
-0500
+++ linux-2.6.18-mm/arch/um/kernel/irq.c        2007-01-10 15:30:35.000000000 
-0500
@@ -79,7 +79,7 @@ skip:
        return 0;
 }
 
-struct irq_fd *active_fds = NULL;
+static struct irq_fd *active_fds = NULL;
 static struct irq_fd **last_irq_ptr = &active_fds;
 
 extern void free_irqs(void);
@@ -124,8 +124,8 @@ int activate_fd(int irq, int fd, int typ
        if (err < 0)
                goto out;
 
-       new_fd = um_kmalloc(sizeof(*new_fd));
        err = -ENOMEM;
+       new_fd = kmalloc(sizeof(struct irq_fd), GFP_KERNEL);
        if (new_fd == NULL)
                goto out;
 
@@ -176,9 +176,8 @@ int activate_fd(int irq, int fd, int typ
                 */
                spin_unlock_irqrestore(&irq_lock, flags);
                kfree(tmp_pfd);
-               tmp_pfd = NULL;
 
-               tmp_pfd = um_kmalloc(n);
+               tmp_pfd = kmalloc(n, GFP_KERNEL);
                if (tmp_pfd == NULL)
                        goto out_kfree;
 
Index: linux-2.6.18-mm/arch/um/os-Linux/irq.c
===================================================================
--- linux-2.6.18-mm.orig/arch/um/os-Linux/irq.c 2007-01-10 15:08:33.000000000 
-0500
+++ linux-2.6.18-mm/arch/um/os-Linux/irq.c      2007-01-10 15:34:43.000000000 
-0500
@@ -20,6 +20,10 @@
 #include "os.h"
 #include "um_malloc.h"
 
+/*
+ * Locked by irq_lock in arch/um/kernel/irq.c.  Changed by os_create_pollfd
+ * and os_free_irq_by_cb, which are called under irq_lock.
+ */
 static struct pollfd *pollfds = NULL;
 static int pollfds_num = 0;
 static int pollfds_size = 0;
@@ -58,7 +62,7 @@ int os_create_pollfd(int fd, int events,
        if (pollfds_num == pollfds_size) {
                if (size_tmpfds <= pollfds_size * sizeof(pollfds[0])) {
                        /* return min size needed for new pollfds area */
-                       return((pollfds_size + 1) * sizeof(pollfds[0]));
+                       return (pollfds_size + 1) * sizeof(pollfds[0]);
                }
 
                if (pollfds != NULL) {


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to