04 Dec, 2009

7 commits

  • o This is basic implementation of blkio controller cgroup interface. This is
    the common interface visible to user space and should be used by different
    IO control policies as we implement those.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Jens Axboe

    Vivek Goyal
     
  • o So far we just had one cfq_group in cfq_data. To create space for more than
    one cfq_group, we need to have a service tree of groups where all the groups
    can be queued if they have active cfq queues backlogged in these.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Jens Axboe

    Vivek Goyal
     
  • o Currently cfqq deletes a queue from service tree if it is empty (even if
    we might idle on the queue). This patch keeps the queue on service tree
    hence associated group remains on the service tree until we decide that
    we are not going to idle on the queue and expire it.

    o This just helps in time accounting for queue/group and in implementation
    of rest of the patches.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Jens Axboe

    Vivek Goyal
     
  • o Implement a macro to traverse each service tree in the group. This avoids
    usage of double for loop and special condition for idle tree 4 times.

    o Macro is little twisted because of special handling of idle class service
    tree.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Jens Axboe

    Vivek Goyal
     
  • o This patch introduce the notion of cfq groups. Soon we will can have multiple
    groups of different weights in the system.

    o Various service trees (prioclass and workload type trees), will become per
    cfq group. So hierarchy looks as follows.

    cfq_groups
    |
    workload type
    |
    cfq queue

    o When an scheduling decision has to be taken, first we select the cfq group
    then workload with-in the group and then cfq queue with-in the workload
    type.

    o This patch just makes various workload service tree per cfq group and
    introduce the function to be able to choose a group for scheduling.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Jens Axboe

    Vivek Goyal
     
  • o must_dispatch flag should be set only if we decided not to run the queue
    and dispatch the request.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Jens Axboe

    Vivek Goyal
     
  • Signed-off-by: Philipp Reisner
    Signed-off-by: Lars Ellenberg

    Philipp Reisner
     

03 Dec, 2009

22 commits


02 Dec, 2009

11 commits

  • mmc_remove_host() will cause the mmc core to switch off the bus power by
    eventually calling pxamci_set_ios(). This function uses the regulator or
    the GPIO which have been freed already.

    This causes the following Oops on module unload.

    [ 49.519649] Unable to handle kernel paging request at virtual address 30303a70
    [ 49.526878] pgd = c7084000
    [ 49.529563] [30303a70] *pgd=00000000
    [ 49.533136] Internal error: Oops: 5 [#1]
    [ 49.537025] last sysfs file: /sys/devices/platform/pxa27x-ohci/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/scsi_level
    [ 49.547471] Modules linked in: pxamci(-) eeti_ts
    [ 49.552061] CPU: 0 Not tainted (2.6.32-rc8 #322)
    [ 49.557001] PC is at regulator_is_enabled+0x3c/0xbc
    [ 49.561846] LR is at regulator_is_enabled+0x30/0xbc
    [ 49.566691] pc : [] lr : [] psr: 60000013
    [ 49.566702] sp : c7083e70 ip : 30303a30 fp : 00000000
    [ 49.578093] r10: c705e200 r9 : c7082000 r8 : c705e2e0
    [ 49.583280] r7 : c7061340 r6 : c7061340 r5 : c7083e70 r4 : 00000000
    [ 49.589759] r3 : c04dc434 r2 : c04dc434 r1 : c03eecea r0 : 00000047
    [ 49.596241] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
    [ 49.603329] Control: 0000397f Table: a7084018 DAC: 00000015
    [ 49.609031] Process rmmod (pid: 1101, stack limit = 0xc7082278)
    [ 49.614908] Stack: (0xc7083e70 to 0xc7084000)
    [ 49.619238] 3e60: c7082000 c703c4f8 c705ea00 c04f4074
    [ 49.627366] 3e80: 00000000 c705e3a0 ffffffff c0247ddc c70361a0 00000000 c705e3a0 ffffffff
    [ 49.635499] 3ea0: c705e200 bf006400 c78c4f00 c705e200 c705e3a0 ffffffff c705e200 ffffffff
    [ 49.643633] 3ec0: c04d8ac8 c02476d0 ffffffff c0247c60 c705e200 c0248678 c705e200 c0249064
    [ 49.651765] 3ee0: ffffffff bf006204 c04d8ad0 c04d8ad0 c04d8ac8 bf007490 00000880 c00440c4
    [ 49.659898] 3f00: 0000b748 c01c5708 bf007490 c01c44c8 c04d8ac8 c04d8afc bf007490 c01c4570
    [ 49.668031] 3f20: bf007490 bf00750c c04f4258 c01c37a4 00000000 bf00750c c7083f44 c007b014
    [ 49.676162] 3f40: 4000d000 6d617870 08006963 00000001 00000000 c7085000 00000001 00000000
    [ 49.684287] 3f60: 4000d000 c7083f8c 00000001 bea01a54 00005401 c7ab1400 c00440c4 00082000
    [ 49.692420] 3f80: bf00750c 00000880 c7083f8c 00000000 4000cfa8 00000000 00000880 bea01cc8
    [ 49.700552] 3fa0: 00000081 c0043f40 00000000 00000880 bea01cc8 00000880 00000006 00000000
    [ 49.708677] 3fc0: 00000000 00000880 bea01cc8 00000081 00000097 0000cca4 0000b748 00000000
    [ 49.716802] 3fe0: 4001a4f0 bea01cc0 00018bf4 4001a4fc 20000010 bea01cc8 a063e021 a063e421
    [ 49.724958] [] (regulator_is_enabled+0x3c/0xbc) from [] (mmc_regulator_set_ocr+0x14/0xd8)
    [ 49.734836] [] (mmc_regulator_set_ocr+0x14/0xd8) from [] (pxamci_set_ios+0xd8/0x17c [pxamci])
    [ 49.745044] [] (pxamci_set_ios+0xd8/0x17c [pxamci]) from [] (mmc_power_off+0x50/0x58)
    [ 49.754555] [] (mmc_power_off+0x50/0x58) from [] (mmc_detach_bus+0x68/0xc4)
    [ 49.763207] [] (mmc_detach_bus+0x68/0xc4) from [] (mmc_stop_host+0xd4/0x1bc)
    [ 49.771944] [] (mmc_stop_host+0xd4/0x1bc) from [] (mmc_remove_host+0xc/0x20)
    [ 49.780681] [] (mmc_remove_host+0xc/0x20) from [] (pxamci_remove+0xc8/0x174 [pxamci])
    [ 49.790211] [] (pxamci_remove+0xc8/0x174 [pxamci]) from [] (platform_drv_remove+0x1c/0x24)
    [ 49.800164] [] (platform_drv_remove+0x1c/0x24) from [] (__device_release_driver+0x7c/0xc4)
    [ 49.810110] [] (__device_release_driver+0x7c/0xc4) from [] (driver_detach+0x60/0x8c)
    [ 49.819535] [] (driver_detach+0x60/0x8c) from [] (bus_remove_driver+0x90/0xcc)
    [ 49.828452] [] (bus_remove_driver+0x90/0xcc) from [] (sys_delete_module+0x1d8/0x254)
    [ 49.837891] [] (sys_delete_module+0x1d8/0x254) from [] (ret_fast_syscall+0x0/0x28)
    [ 49.847145] Code: eb06c53a e596c030 e1a0500d e59f106c (e59c0040)
    [ 49.853566] ---[ end trace b5fa66a00cea142f ]---

    Signed-off-by: Daniel Mack
    Reported-by: Sven Neumann
    Cc: Pierre Ossman
    Cc: linux-mmc@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: stable@kernel.org
    Signed-off-by: Eric Miao

    Daniel Mack
     
  • This patch fixes the compilation failure of
    rc32434 due to a bad module parameter description.

    Signed-off-by: Florian Fainelli
    Signed-off-by: Wim Van Sebroeck

    Florian Fainelli
     
  • The size value passed to ioremap_nocache() is not correct.
    Use resource_size() to get the correct value.

    Signed-off-by: H Hartley Sweeten
    Cc: Phil Sutter
    Signed-off-by: Wim Van Sebroeck

    H Hartley Sweeten
     
  • The SYSFS_DEPRECATED_V2 says "remove" older, deprecated features, but it
    actually enables them, so correct this confusing, backwards text.

    Signed-off-by: Randy Dunlap
    Cc: Kay Sievers
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • When detecting power failure, the probe function would reset the clock
    time to defined state.

    However, the clock's _date_ might still be bogus and a subsequent probe
    fails when sanity-checking these values.

    Change the power-failure fixup code to do a full setting of rtc_time,
    including a valid date.

    Signed-off-by: Johannes Weiner
    Cc: Alessandro Zummo
    Cc: Paul Gortmaker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • The possible CCR_Y2K register values are 19 or 20 and struct rtc_time's
    tm_year is in years since 1900.

    The function translating rtc_time to register values assumes tm_year to be
    years since first christmas, though, and we end up storing 0 or 1 in the
    CCR_Y2K register, which the hardware does not refuse to do.

    A subsequent probing of the clock fails due to the invalid value range in
    the register, though.

    [ And if it didn't, reading the clock would yield a bogus year because
    the function translating registers to tm_year is assuming a register
    value of 19 or 20. ]

    This fixes the conversion from years since 1900 in tm_year to the
    corresponding CCR_Y2K value of 19 or 20.

    Signed-off-by: Johannes Weiner
    Cc: Alessandro Zummo
    Cc: Paul Gortmaker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • Prevent the AoE block driver from creating cache aliases of page cache
    pages on machines with virtually indexed caches.

    Building kernels on an AT91SAM9G20 board without this patch fails with
    segmentation faults after a couple of passes.

    Signed-off-by: Peter Horton
    Cc: "Ed L. Cashin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Horton
     
  • - Remove wrong and unnecessary unmask operation

    - Remove extra GEDR reading

    This fixes the loss of interrupts which occurs when two or more pins are
    triggered in close succession.

    Signed-off-by: Alek Du
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alek Du
     
  • It has been fun but the last year or more it has been a duty and a burden.
    So I leave it open for others to take over.

    Signed-off-by: Sam Ravnborg
    Cc: Anibal Monsalve Salazar
    Cc: Steven Rostedt
    Cc: Michal Marek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sam Ravnborg
     
  • Following issues have been addressed on DA8XX/OMAP-L1XX:

    a. Screen misalignment during booting when frame buffer console is
    enabled.

    b. Driver was configured always in PSEUDOCOLOR mode. This patch
    dynamically configures the driver either in PSEUDOCOLOUR or TRUECOLOR
    mode depending on bpp.

    c. The RED and BLUE offsets were interchanged resulting in wrong
    bootup logo colour.

    This patch has been tested on DA830/OMAP-L137 and DA850/OMAP-L138 EVMs.

    Signed-off-by: Sudhakar Rajashekhara
    Cc: Steve Chen
    Cc: Pavel Kiryukhin
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sudhakar Rajashekhara
     
  • "rtc" is freed and then dereferenced on the next line. This patch fixes
    that.

    Signed-off-by: Dan Carpenter
    Acked-by: Alessandro Zummo
    Cc: David Brownell
    Cc: Paul Gortmaker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Carpenter