21 Jul, 2008

2 commits


18 Jul, 2008

1 commit


16 Jul, 2008

2 commits

  • Conflicts:

    arch/x86/xen/smp.c
    kernel/sched_rt.c
    net/iucv/iucv.c

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Conflicts:

    arch/powerpc/Kconfig
    arch/s390/kernel/time.c
    arch/x86/kernel/apic_32.c
    arch/x86/kernel/cpu/perfctr-watchdog.c
    arch/x86/kernel/i8259_64.c
    arch/x86/kernel/ldt.c
    arch/x86/kernel/nmi_64.c
    arch/x86/kernel/smpboot.c
    arch/x86/xen/smp.c
    include/asm-x86/hw_irq_32.h
    include/asm-x86/hw_irq_64.h
    include/asm-x86/mach-default/irq_vectors.h
    include/asm-x86/mach-voyager/irq_vectors.h
    include/asm-x86/smp.h
    kernel/Makefile

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

15 Jul, 2008

1 commit


14 Jul, 2008

1 commit


26 Jun, 2008

2 commits


10 Jun, 2008

3 commits

  • The first 4 bytes of data to be sent are stored additionally into
    the message class field of the send request. A receiving target
    program (not an af_iucv socket program) can make use of this
    information to pre-screen incoming messages.

    Signed-off-by: Ursula Braun
    Signed-off-by: David S. Miller

    Ursula Braun
     
  • The code used preempt_disable() to prevent cpu hotplug, however that
    doesn't protect for cpus being added. So use get_online_cpus() instead.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Ursula Braun
    Signed-off-by: David S. Miller

    Heiko Carstens
     
  • WARNING: net/iucv/built-in.o(.exit.text+0x9c): Section mismatch in
    reference from the function iucv_exit() to the variable
    .cpuinit.data:iucv_cpu_notifier

    This warning is caused by a reference from unregister_hotcpu_notifier()
    from an exit function to a cpuinitdata annotated data structurre.
    This is a false positive warning since for the non CPU_HOTPLUG case
    unregister_hotcpu_notifier() is a nop.
    Use __refdata instead of __cpuinitdata to get rid of the warning.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Ursula Braun
    Signed-off-by: David S. Miller

    Heiko Carstens
     

24 May, 2008

1 commit


10 Apr, 2008

3 commits


04 Mar, 2008

1 commit

  • Since a5fbb6d1064be885d2a6b82f625186753cf74848
    "KVM: fix !SMP build error" smp_call_function isn't a define anymore
    that folds into nothing but a define that calls up_smp_call_function
    with all parameters. Hence we cannot #ifdef out the unused code
    anymore...
    This seems to be the preferred method, so do this for s390 as well.

    net/iucv/iucv.c: In function 'iucv_cleanup_queue':
    net/iucv/iucv.c:657: error: '__iucv_cleanup_queue' undeclared

    Signed-off-by: Heiko Carstens
    Signed-off-by: Josef 'Jeff' Sipek
    Signed-off-by: Ursula Braun
    Signed-off-by: David S. Miller

    Heiko Carstens
     

08 Feb, 2008

3 commits

  • The loop in iucv_callback_txdone presumes existence of an entry
    with msg->tag in the send_skb_q list. In error cases this
    assumption might be wrong and might cause an endless loop.
    Loop is rewritten to guarantee loop end in case of missing
    msg->tag entry in send_skb_q.

    Signed-off-by: Ursula Braun
    Signed-off-by: David S. Miller

    Ursula Braun
     
  • A race has been detected in iucv_callback_txdone().
    skb_unlink has to be done inside the locked area.

    In addition checkings for successful allocations are inserted.

    Signed-off-by: Ursula Braun
    Signed-off-by: David S. Miller

    Ursula Braun
     
  • Linux may hang when running af_iucv socket programs concurrently
    with a load of module netiucv. iucv_register() tries to take the
    iucv_table_lock with spin_lock_irq. This conflicts with
    iucv_connect() which has a need for an smp_call_function while
    holding the iucv_table_lock.
    Solution: use bh-disabling locking in iucv_register()

    Signed-off-by: Ursula Braun
    Signed-off-by: David S. Miller

    Ursula Braun
     

29 Jan, 2008

2 commits


20 Nov, 2007

1 commit

  • The iucv is the only user of the various functions that are used to bring
    parts of cpus up and down. Its the only allocpercpu user that will do
    I/O on per cpu objects (which is difficult to do with virtually mapped memory).
    And its the only use of allocpercpu where a GFP_DMA allocation is done.

    Remove the allocpercpu calls from iucv and code the allocation and freeing
    manually. After this patch it is possible to remove a large part of
    the allocpercpu API.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Martin Schwidefsky

    Christoph Lameter
     

01 Nov, 2007

1 commit

  • Finally, the zero_it argument can be completely removed from
    the callers and from the function prototype.

    Besides, fix the checkpatch.pl warnings about using the
    assignments inside if-s.

    This patch is rather big, and it is a part of the previous one.
    I splitted it wishing to make the patches more readable. Hope
    this particular split helped.

    Signed-off-by: Pavel Emelyanov
    Signed-off-by: David S. Miller

    Pavel Emelyanov
     

20 Oct, 2007

1 commit


11 Oct, 2007

3 commits

  • AF_IUCV socket programs may waste Linux storage, because af_iucv
    allocates an skb whenever posted by the receive callback routine and
    receives the message immediately.
    Message receival is now postponed if data from previous callbacks has
    not yet been transferred to the receiving socket program. Instead a
    message handle is saved in a message queue as a reminder. Once
    messages could be given to the receiving socket program, there is
    an additional checking for entries in the message queue, followed
    by skb allocation and message receival if applicable.

    Signed-off-by: Ursula Braun
    Signed-off-by: David S. Miller

    Ursula Braun
     
  • Signed-off-by: Heiko Carstens
    Signed-off-by: Ursula Braun
    Signed-off-by: David S. Miller

    Heiko Carstens
     
  • This patch passes in the namespace a new socket should be created in
    and has the socket code do the appropriate reference counting. By
    virtue of this all socket create methods are touched. In addition
    the socket create methods are modified so that they will fail if
    you attempt to create a socket in a non-default network namespace.

    Failing if we attempt to create a socket outside of the default
    network namespace ensures that as we incrementally make the network stack
    network namespace aware we will not export functionality that someone
    has not audited and made certain is network namespace safe.
    Allowing us to partially enable network namespaces before all of the
    exotic protocols are supported.

    Any protocol layers I have missed will fail to compile because I now
    pass an extra parameter into the socket creation code.

    [ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]

    Signed-off-by: Eric W. Biederman
    Signed-off-by: David S. Miller

    Eric W. Biederman
     

27 Jul, 2007

1 commit


15 Jul, 2007

3 commits


10 May, 2007

1 commit

  • Since nonboot CPUs are now disabled after tasks and devices have been
    frozen and the CPU hotplug infrastructure is used for this purpose, we need
    special CPU hotplug notifications that will help the CPU-hotplug-aware
    subsystems distinguish normal CPU hotplug events from CPU hotplug events
    related to a system-wide suspend or resume operation in progress. This
    patch introduces such notifications and causes them to be used during
    suspend and resume transitions. It also changes all of the
    CPU-hotplug-aware subsystems to take these notifications into consideration
    (for now they are handled in the same way as the corresponding "normal"
    ones).

    [oleg@tv-sign.ru: cleanups]
    Signed-off-by: Rafael J. Wysocki
    Cc: Gautham R Shenoy
    Cc: Pavel Machek
    Signed-off-by: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

06 May, 2007

1 commit

  • From: Heiko Carstens

    CC [M] net/iucv/af_iucv.o
    net/iucv/af_iucv.c: In function `iucv_fragment_skb':
    net/iucv/af_iucv.c:984: error: structure has no member named `h'
    net/iucv/af_iucv.c:985: error: structure has no member named `nh'
    net/iucv/af_iucv.c:988: error: incompatible type for argument 1 of
    `skb_queue_tail'

    Signed-off-by: Heiko Carstens
    Signed-off-by: David S. Miller

    Heiko Carstens
     

05 May, 2007

2 commits


29 Apr, 2007

1 commit

  • Calling smp_call_function can lead to a deadlock if it is called
    from tasklet context.
    Fixing this deadlock requires to move the smp_call_function from the
    tasklet context to a work queue. To do that queue the path pending
    interrupts to a separate list and move the path cleanup out of
    iucv_path_sever to iucv_path_connect and iucv_path_pending.
    This creates a new requirement for iucv_path_connect: it may not be
    called from tasklet context anymore.
    Also fixed compile problem for CONFIG_HOTPLUG_CPU=n and
    another one when walking the cpu_online mask. When doing this,
    we must disable cpu hotplug.

    Signed-off-by: Frank Pavlic
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: David S. Miller

    Martin Schwidefsky
     

26 Apr, 2007

3 commits

  • CC [M] net/iucv/iucv.o
    net/iucv/iucv.c: In function 'iucv_init':
    net/iucv/iucv.c:1556: error: 'iucv_cpu_notifier' undeclared (first use in this function)

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Alexey Dobriyan
     
  • Spring cleaning time...

    There seems to be a lot of places in the network code that have
    extra bogus semicolons after conditionals. Most commonly is a
    bogus semicolon after: switch() { }

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • For the common, open coded 'skb->h.raw = skb->data' operation, so that we can
    later turn skb->h.raw into a offset, reducing the size of struct sk_buff in
    64bit land while possibly keeping it as a pointer on 32bit.

    This one touches just the most simple cases:

    skb->h.raw = skb->data;
    skb->h.raw = {skb_push|[__]skb_pull}()

    The next ones will handle the slightly more "complex" cases.

    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Arnaldo Carvalho de Melo