Changeset 235d31d in mainline for kernel/generic/src/console/cmd.c


Ignore:
Timestamp:
2014-12-22T17:47:40Z (9 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8c7d5ad
Parents:
eae91e0 (diff), 759ea0d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge the CHT pre-integration branch

This branch contains:

  • the merge of lp:~adam-hraska+lp/helenos/rcu, which brings:
  • a new preemptible kernel RCU variant called A-RCU,
  • a preemptible variant of Podzimek's non-preemptible kernel RCU and
  • a new variant of usersace RCU,
  • a new concurrent hash table (CHT) implementation based on RCU,
  • a deployment of CHT in kernel futex handling,
  • a deployment of the userspace RCU in the implementation of upgradable futexes,

all described in Adam Hraska's master thesis named Read-Copy-Update
for HelenOS, defended in 2013 at MFF UK; furthemore, the branch
fixes two synchronization bugs in condvars and waitq, respectively:

  • revid:adam.hraska+hos@gmail.com-20121116144921-3to9u1tn1sg07rg7
  • revid:adam.hraska+hos@gmail.com-20121116173623-km7gwtqixwudpe66
  • build fixes required to pass make check
  • overhaul of ia64 and sparc64 trap handling, to allow exc_dispatch() to be used now when the kernel is more picky about CPU state accounting
  • an important fix of the sparc64/sun4v preemptible trap handler
  • various other fixes of issues discovered on non-x86 architectures
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/console/cmd.c

    reae91e0 r235d31d  
    7070#include <sysinfo/sysinfo.h>
    7171#include <symtab.h>
     72#include <synch/workqueue.h>
     73#include <synch/rcu.h>
    7274#include <errno.h>
    7375
     
    526528};
    527529
     530/* Data and methods for the 'workq' command */
     531static int cmd_workq(cmd_arg_t *argv);
     532static cmd_info_t workq_info = {
     533        .name = "workq",
     534        .description = "Show global workq information.",
     535        .func = cmd_workq,
     536        .argc = 0
     537};
     538
     539/* Data and methods for the 'workq' command */
     540static int cmd_rcu(cmd_arg_t *argv);
     541static cmd_info_t rcu_info = {
     542        .name = "rcu",
     543        .description = "Show RCU run-time statistics.",
     544        .func = cmd_rcu,
     545        .argc = 0
     546};
     547
    528548/* Data and methods for 'ipc' command */
    529549static int cmd_ipc(cmd_arg_t *argv);
     
    589609        &physmem_info,
    590610        &reboot_info,
     611        &rcu_info,
    591612        &sched_info,
    592613        &set4_info,
     
    599620        &uptime_info,
    600621        &version_info,
     622        &workq_info,
    601623        &zones_info,
    602624        &zone_info,
     
    12701292{
    12711293        sched_print_list();
     1294        return 1;
     1295}
     1296
     1297/** Prints information about the global work queue.
     1298 *
     1299 * @param argv Ignores
     1300 *
     1301 * @return Always 1
     1302 */
     1303int cmd_workq(cmd_arg_t *argv)
     1304{
     1305        workq_global_print_info();
     1306        return 1;
     1307}
     1308
     1309/** Prints RCU statistics.
     1310 *
     1311 * @param argv Ignores
     1312 *
     1313 * @return Always 1
     1314 */
     1315int cmd_rcu(cmd_arg_t *argv)
     1316{
     1317        rcu_print_stat();
    12721318        return 1;
    12731319}
Note: See TracChangeset for help on using the changeset viewer.