Changeset dbb2407 in rtems-libbsd


Ignore:
Timestamp:
Oct 23, 2018, 10:11:54 AM (7 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
a87e0f4f5c4795f77dc3956c7d1543f90f7d7710, 16fa6a4651faaa77ef72c7e03d285c143d6e54fa
Children:
ed5e02a
Parents:
1aeb727
Message:

ZONE(9): Disable UMA_ZONE_NUMA

There is no NUMA support in RTEMS currently.

Location:
freebsd/sys/vm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • freebsd/sys/vm/uma.h

    r1aeb727 rdbb2407  
    282282                                         * Allocates mp_maxid + 1 slabs of PAGE_SIZE
    283283                                         */
     284#ifndef __rtems__
    284285#define UMA_ZONE_NUMA           0x10000 /*
    285286                                         * NUMA aware Zone.  Implements a best
    286287                                         * effort first-touch policy.
    287288                                         */
     289#endif /* __rtems__ */
    288290#define UMA_ZONE_NOBUCKETCACHE  0x20000 /*
    289291                                         * Don't cache full buckets.  Limit
  • freebsd/sys/vm/uma_core.c

    r1aeb727 rdbb2407  
    405405                ubz->ubz_zone = uma_zcreate(ubz->ubz_name, size,
    406406                    NULL, NULL, NULL, NULL, UMA_ALIGN_PTR,
     407#ifndef __rtems__
    407408                    UMA_ZONE_MTXCLASS | UMA_ZFLAG_BUCKET | UMA_ZONE_NUMA);
     409#else /* __rtems__ */
     410                    UMA_ZONE_MTXCLASS | UMA_ZFLAG_BUCKET);
     411#endif /* __rtems__ */
    408412        }
    409413}
     
    820824        ZONE_LOCK(zone);
    821825        critical_enter();
     826#ifndef __rtems__
    822827        if (zone->uz_flags & UMA_ZONE_NUMA)
    823828                domain = PCPU_GET(domain);
    824829        else
     830#endif /* __rtems__ */
    825831                domain = 0;
    826832        cache = &zone->uz_cpu[curcpu];
     
    17881794        zone->uz_flags = 0;
    17891795        zone->uz_warning = NULL;
     1796#ifndef __rtems__
    17901797        /* The domain structures follow the cpu structures. */
    17911798        zone->uz_domain = (struct uma_zone_domain *)&zone->uz_cpu[mp_ncpus];
     1799#endif /* __rtems__ */
    17921800        timevalclear(&zone->uz_ratecheck);
    17931801        keg = arg->keg;
     
    20732081            (sizeof(struct uma_domain) * vm_ndomains);
    20742082        zsize = sizeof(struct uma_zone) +
    2075             (sizeof(struct uma_cache) * (mp_maxid + 1)) +
    2076             (sizeof(struct uma_zone_domain) * vm_ndomains);
     2083            (sizeof(struct uma_cache) * (mp_maxid + 1));
    20772084        size = 2 * roundup(zsize, CACHE_LINE_SIZE) +
    20782085            roundup(ksize, CACHE_LINE_SIZE);
     
    26042611                bucket_free(zone, bucket, udata);
    26052612
     2613#ifndef __rtems__
    26062614        if (zone->uz_flags & UMA_ZONE_NUMA)
    26072615                domain = PCPU_GET(domain);
    26082616        else
     2617#endif /* __rtems__ */
    26092618                domain = UMA_ANYDOMAIN;
    26102619
     
    26832692                 * the memory directly.
    26842693                 */
     2694#ifndef __rtems__
    26852695                if (cache->uc_allocbucket != NULL ||
    26862696                    (zone->uz_flags & UMA_ZONE_NUMA &&
    26872697                    domain != PCPU_GET(domain)))
     2698#else /* __rtems__ */
     2699                if (cache->uc_allocbucket != NULL)
     2700#endif /* __rtems__ */
    26882701                        LIST_INSERT_HEAD(&zdom->uzd_buckets, bucket, ub_link);
    26892702                else
     
    31633176        uma_bucket_t bucket;
    31643177        uma_zone_domain_t zdom;
     3178#ifndef __rtems__
    31653179        int cpu, domain, lockfail;
     3180#else /* __rtems__ */
     3181        int cpu, lockfail;
     3182#endif /* __rtems__ */
    31663183#ifdef INVARIANTS
    31673184        bool skipdbg;
     
    32803297        critical_exit();
    32813298
     3299#ifndef __rtems__
    32823300        if ((zone->uz_flags & UMA_ZONE_NUMA) != 0)
    32833301                domain = PCPU_GET(domain);
    32843302        else
    32853303                domain = 0;
     3304#endif /* __rtems__ */
    32863305        zdom = &zone->uz_domain[0];
    32873306
     
    33183337                cpu = curcpu;
    33193338                cache = &zone->uz_cpu[cpu];
     3339#ifndef __rtems__
    33203340                if (cache->uc_freebucket == NULL &&
    33213341                    ((zone->uz_flags & UMA_ZONE_NUMA) == 0 ||
    33223342                    domain == PCPU_GET(domain))) {
     3343#else /* __rtems__ */
     3344                if (cache->uc_freebucket == NULL) {
     3345#endif /* __rtems__ */
    33233346                        cache->uc_freebucket = bucket;
    33243347                        goto zfree_start;
  • freebsd/sys/vm/uma_int.h

    r1aeb727 rdbb2407  
    322322        struct mtx      *uz_lockptr;
    323323        const char      *uz_name;       /* Text name of the zone */
     324#ifndef __rtems__
    324325        struct uma_zone_domain  *uz_domain;     /* per-domain buckets */
     326#else /* __rtems__ */
     327        struct uma_zone_domain  uz_domain[1];   /* per-domain buckets */
     328#endif /* __rtems__ */
    325329        uint32_t        uz_flags;       /* Flags inherited from kegs */
    326330        uint32_t        uz_size;        /* Size inherited from kegs */
Note: See TracChangeset for help on using the changeset viewer.